python3写入csv乱码怎么解决

2023-12-13 14:53:48 网络知识 匿名

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乱码怎么解决,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:瀚银百科。

发表评论: