Python 转换文件编码类型

图片名称

  在处理文件时经常需要对文件进行转码,文件编码类型如下表:

编码类型 编码描述
ANSI码 多用于英文字母及数字(存储汉字容易报错)
Unicode 包含:汉字、英文字母、数字及各国通用语言
UTF-8 可变长度的Unicode(最常用)
GBK编码 面向汉字的编码(最少用)

  大家可先创建几个ANSI编码类型的测试文件,我们试图将ANSI文件转换为utf-8,相关代码如下:

import os
import pandas as pd

# 最终转换的文件编码格式
coding = 'utf-8' 
# 需要修改的文件夹路径
file_dir = 'D:\\test\\' 

def run_coding():
    for root, dirs, files in os.walk(file_dir, topdown=False):
        for i in files:
            files_name = os.path.join(root, i)
            try:
                df1 = pd.read_csv(files_name, encoding='utf-8') 
            except:
                df1 = pd.read_csv(files_name, encoding='gbk')
            df1.to_csv(files_name, encoding=coding,index=None)

if __name__ == '__main__':
    run_coding()
    print("Finish translate")

分类: Python技术