这篇文章将为大家详细讲解有关解决python3写入csv乱码的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Python写csv文件

Python提供了内置模块读写csv文件,这里我只用到了写,读这里就不做介绍了,也不难,主要是解决乱码问题。

defsave2csv(file_name=None,header=None,data=None):"""保存成CSV格式文件,方便Excel直接打开:paramfile_name:保存的文件名:paramheader:表头,每一列的名字:paramdata:具体填充数据:return:"""iffile_nameisNoneorisinstance(file_name,basestring)isFalse:raiseException('保存CSV文件名不能为空,并且必须为字符串类型')iffile_name.endswith('.csv')isFalse:file_name+='.csv'file_obj=open(file_name,'wb')file_obj.write(codecs.BOM_UTF8)#防止乱码writer=csv.writer(file_obj)ifdataisNoneorisinstance(data,(tuple,list))isFalse:raiseException('保存CSV文件失败,数据为空或者不是数据类型')ifheaderisnotNoneandisinstance(header,(tuple,list))isTrue:writer.writerow(header)forrowindata: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编码格式的。

关于解决python3写入csv乱码的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。