python读取csv报错,python写入csv文件的几种方法总结

  python读取csv报错,python写入csv文件的几种方法总结

  今天简单总结了一个处理乱码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函数会解决这个问题。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: