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编码格式的。
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容