NatOliver 发表于 2020-4-7 19:41:09

文件统一修改为utf-8不成功,麻烦大神帮忙看下代码有啥问题

MAC电脑,下载作业里的文件,总是提醒文件编码不对,于是在网上搞了个代码,然而并不成功,运行后还是没有更改,代码附后,请大神们帮忙看看

文件是放在同一个文件夹里了的


# 更改文件编码
# 文件统一改为utf-8无BOM
# -*- coding: UTF-8 -*-
import os
import pandas as pd

#需要把文件改成编码的格式(可以自己随时修改)
coding = 'utf-8_sig'
# 文件夹目录(可以更改文件编码的文件夹~)
file_dir = '/Users/mac/Documents/Microsoft\ 用户数据/python-Folder/更改文件编码为utf-8'

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")

打印了it‘s done.但并木有用~

BngThea 发表于 2020-4-7 19:57:31

pandas中的read_csv好像对中文路径不太友好,试试加上关键字参数
engine='python'

NatOliver 发表于 2020-4-7 20:57:06

BngThea 发表于 2020-4-7 19:57
pandas中的read_csv好像对中文路径不太友好,试试加上关键字参数
engine='python'

请问是改成这样吗?
try:
   df1 = pd.read_csv(files_name, encoding='utf-8',engine='python')
except:
      df1 = pd.read_csv(files_name, encoding='gbk',engine='python')

可以运行,不过还是没改成功

BngThea 发表于 2020-4-7 20:58:27

NatOliver 发表于 2020-4-7 20:57
请问是改成这样吗?
try:
   df1 = pd.read_csv(files_name, encoding='utf-8',engine='python')


那就是可能有文件中有一些奇怪的符号,比如◇之类的,unicode识别不了
页: [1]
查看完整版本: 文件统一修改为utf-8不成功,麻烦大神帮忙看下代码有啥问题