优草派 > Python

Python修改csv文件编码格式怎么做?Python如何批量修改csv文件编码

罗西汉         优草派

csv之中文件格式python数据分析和处理程序中经常会碰到的,而它有时读取或者写入的数据会变成乱码,这是因为它的编码格式不是支持中文的。所以下面文章内容就是,python批量修改csv文件编码格式为中文utf-8的方法教程,想学习就继续阅读吧。

Python修改csv文件编码格式怎么做?Python如何批量修改csv文件编码

1.那么首先是需要将内置模块os导入,因为还需要使用它的方法来获取到文件路径下所有的csv文件。那么这个功能可以定义函数来实现,只需要传入文件路径作为参数就可以了。

函数内声明空列表后,调用walk()方法就可以获取指定路径下面所有文件以及文件夹路径,再去迭代这些文件并判断其是否以及.csv作为后缀名。是的话就拼接文件名和路径添加到空列表内返回,详细代码如下所示:

import os
from chardet.universaldetector import UniversalDetector
def get_filelist(path):
    Filelist = []
    for home, dirs, files in os.walk(path):
        for filename in files:
            if ".csv" in filename:
                Filelist.append(os.path.join(home, filename))
  return Filelist

2.接下来还需要去定义一个函数,这个函数的作用就是将文件打开读取内容,然后将其转为utf-8编码格式再写入。该函数中只需要去调用方法来先解码再编码即可,详细代码如下:

def convert_encode2utf8(file, original_encode, des_encode):
    file_content = read_file(file)
    file_decode = file_content.decode(original_encode, 'ignore')
    file_encode = file_decode.encode(des_encode)
    with open(file, 'wb') as f:
        f.write(file_encode)

3.那么到此还没有结束,因为此时还需要去定义一个函数。在这个函数中会调用第一个函数来获取文件路径下所有csv文件,然后在for循环内对其进行操作。操作的方法就是调用第二个函数来将打开的文件转换编码格式为utf-8,最后调用此函数即可,代码如下:

def read_and_convert(path):
Filelist = get_filelist(path=path)
for filename in Filelist:
  convert_encode2utf8(filename, encode_info, 'utf-8')
if __name__ == "__main__":
    path = './'
    read_and_convert(path)

以上就是关于“Python修改csv文件编码格式怎么做?Python如何批量修改csv文件编码”的全部内容了,希望对你有所帮助。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024