使用chardet库可以自动检测文件的编码,然后将UTF-8编码的CSV文件转换为普通编码文件。下面是一个示例代码:
import csv
import os
import chardet
# 设置原始CSV文件夹路径和保存的目标文件夹路径
csv_folder = 'utf8_csv_files'
save_folder = 'csv_files'
# 获取UTF-8编码的CSV文件列表
csv_files = os.listdir(csv_folder)
for csv_file in csv_files:
# 构建UTF-8编码CSV文件路径
csv_path = os.path.join(csv_folder, csv_file)
# 构建保存目标CSV文件路径
save_file = csv_file.replace('.csv', '_converted.csv')
save_path = os.path.join(save_folder, save_file)
# 检测文件编码
with open(csv_path, 'rb') as f_input:
rawdata = f_input.read()
result = chardet.detect(rawdata)
encoding = result['encoding']
# 打开指定编码的CSV文件并读取内容
with open(csv_path, encoding=encoding) as f_input:
csv_reader = csv.rea