700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python修改csv文件编码格式怎么做?Python如何批量修改csv文件编码

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

时间:2022-07-08 05:31:39

相关推荐

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

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

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

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

importosfromchardet.universaldetectorimportUniversalDetectordefget_filelist(path):Filelist=[]forhome,dirs,filesinos.walk(path):forfilenameinfiles:if".csv"infilename:Filelist.append(os.path.join(home,filename))returnFilelist

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

defconvert_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)withopen(file,'wb')asf:f.write(file_encode)

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

defread_and_convert(path):Filelist=get_filelist(path=path)forfilenameinFilelist:convert_encode2utf8(filename,encode_info,'utf-8')if__name__=="__main__":path='./'read_and_convert(path)

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。