本人windows环境,平时从数据库导出数据或者从网上下载csv或txt数据后,会发现各种编码格式。导致有时候打开文件会乱码。为了方便,把文件统一改为utf-8编码,这样就减少了很多麻烦。
故写个python小脚本,解决麻烦。以下为思路:
- 在桌面建立空白文件夹,把需要转换编码的文件拖到里面;
- 读取文件夹所有文件;
- 然后以utf-8编码保存文件。
以下为python 脚本;
# 更改文件编码
# 文件统一改为utf-8无BOM
# -*- coding: UTF-8 -*-
import os
import pandas as pd
#需要把文件改成编码的格式(可以自己随时修改)
coding = 'utf-8_sig'
# 文件夹目录(可以更改文件编码的文件夹~)
file_dir = 'C:\\Users\\yimian\\Desktop\\更改文件编码'
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("It's done")
一般window环境常见的是gbk和utf-8两种编码,所有可以满足平时基本需求。
使用之前:
- 右键文件;
- 以notepad++打开;
- 更改文件编码;
- 保存。
使用脚本:
- 把文件拖到文件夹;
- 运行脚本~OK;
平时就一个文件要更改时,两种方式都可以,
当需要更改的文件数量比较多时,就必需要用脚本了~