csv乱码解决办法,csv出现乱码
微信官方账号后台回复
“图书“
了解更多主书和新书。作者:振国
来源:Python和算法社区
你好,我是振国
今天简单总结了一个处理乱码csv文件的问题。也许你也有类似的经历。用excel打开一个csv文件,所有汉字都显示乱码。然后用记事本手动打开,修改编码为utf-8保存,再用excel打开正常显示。
如今使用Python,很少的代码就能自动完成上述过程。首先,导入3个模块:
# coding: utf-8 # @作者:zhenguo # @日期:2020年12月16日# @ describe:functionsaboutautomaticfile处理模块用于获取文件的编码格式。熊猫按照这个格式读取,然后保存成xlsx格式。
获取文件名文件的编码格式:
Get _ encoding (filename): 返回文件编码格式 withopen (filename, Rb )ASF:returnchardet . detect(f . read())[ encoding ]另存为utf-8编码的xlsx格式文件,支持csv,xls,xlsx格式文件乱码处理。注意,如果读入文件为csv格式,则应以xlsx格式保存:
Def _ UTF8(文件名):另存为to _ UTF-8 encoding=get _ encoding(文件名)ext=os.path.splitext(文件名)if ext [1]==。 CSV :if GB in encoding or GB in encoding:df=PD . read _ CSV(文件名,引擎=python ,编码=GBK)else:df=pd.read_csv(文件名,引擎=python ,编码=utf-8)df.to_excel(ext[0]。xlsx)elifext[1]==。xlsorext[1]==。 xlsx :if GB in Encoding or GB in Encoding:df=PD . read _ excel(filename,Encoding= gbk )else:df=PD . read _ excel(filename,Encoding= utf-8 )df . to _ excel(filename)else:print( onlysupportcsv,xls,xlsxformat )以上函数实现单个文件转换,实现如下path_to_utf8。
Batch _ to _ utf8 (path,ext_name= CSV ):在 path下,后缀为ext_name的乱码文件被转换为可读文件 for fileinos . listdir(path):ifos . path . split ext(file)[1]==。延伸文件系统
if _ _ name _ _= _ _ main _ _ :batch _ to _ utf8( . )#以xlsx格式保存当前目录下的所有csv文件,utf-8编码的文件在读写时会出现乱码,这是经常遇到的。我相信今天文章中的to _ utf8和batch_to_utf8函数会解决这个问题。
自觉柠檬新书已在当当上架。我写过一本书:《拿下Offer-数据分析师求职面试指南》。目前当当网正在举办活动。你可以以相当于原价50%的预购价购买。还是很划算的:建立了数据森林微信官方账号的交流群,很多小伙伴都加入了进来。谢谢你的支持。您可以在小组中交流有关数据分析和数据挖掘的信息。没有加入的可以扫描下面管理员的二维码。入群前一定要关注微信官方账号奥数。关注后请管理员帮你加入群。我们期待您的加入。二维码:猜你喜欢卧槽!原来爬哔哩哔哩弹幕这么简单牛逼!自我意识柠檬书在JD.COM的销售排行榜上名列榜首!知乎沙雕问题列表,人不偿命笑死用Python挑出哔哩哔哩那些“厉害”的老奶奶!你认为去哔哩哔哩旅游可以学习编程吗?