导语:
本文主要介绍了关于python3写入csv乱码怎么解决的相关知识,包括python写入csv文件乱码,以及python csv文件写入这些编程知识,希望对大家有参考作用。
Python写csv文件
Python 提供了一个内置模块来读取和写入 csv 文件。我只在这里使用写作。这里就不介绍了。不难,主要是解决乱码问题。
def save2csv(file_name=None, header=None, data=None):
"""
保存成CSV格式文件,方便Excel直接打开
:param file_name: 保存的文件名
:param header: 表头,每一列的名字
:param data: 具体填充数据
:return:
"""
if file_name is None or isinstance(file_name, basestring) is False:
raise Exception('保存CSV文件名不能为空,并且必须为字符串类型')
if file_name.endswith('.csv') is False:
file_name += '.csv'
file_obj = open(file_name, 'wb')
file_obj.write(codecs.BOM_UTF8) # 防止乱码
writer = csv.writer(file_obj)
if data is None or isinstance(data, (tuple, list)) is False:
raise Exception('保存CSV文件失败,数据为空或者不是数据类型')
if header is not None and isinstance(header, (tuple, list)) is True:
writer.writerow(header)
for row in data:
writer.writerow(row)
注意:有三句话就是为了防止乱码的
file_obj = open(file_name, 'wb')
file_obj.write(codecs.BOM_UTF8) # 防止乱码
writer = csv.writer(file_obj)
在文件头写codecs.BOM_UTF8可以防止乱码,文件都是utf-8编码格式。
推荐学习《
》。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python图形含义11/04
- ♥ 如何解决python ssl错误11/23
- ♥ Python归并排序与快速排序比较12/24
- ♥ python-docx安装错误11/30
- ♥ python如何定义类09/04
- ♥ 如何增加python字体09/12
内容反馈