python读取文件中文乱码问题4种解决方案(免费):

例如pd.read_csv读取文件内容:pd.read_csv('data.csv')

读取结果中文乱码结果为:

解决方案如下(一个个的试一遍):

1)pd.read_csv('data.csv',encoding='unicode_escape')

2)pd.read_csv('data.csv',encoding='gb18030')

3)pd.read_csv('data.csv',encoding='gb2312')

4)pd.read_csv('data.csv',encoding='utf-8')

读取结果为:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSV文件中文乱码通常是因为文件本身采用了不同于Python解释器默认编码的编码方式,或者文件中包含了无法被正确解码的字符。为了解决这个问题,可以在读取CSV文件的时候指定正确的编码方式,或者在读取完整个CSV文件后对包含中文字符的列进行特殊处理。 以下是一些可能的解决方案: 1. 指定正确的编码方式:在使用Python读取CSV文件时,可以在打开文件时指定正确的编码方式。例如,如果CSV文件采用GBK编码,则可以使用以下代码读取文件: ```python import csv with open('data.csv', 'r', encoding='gbk') as f: reader = csv.reader(f) for row in reader: print(row) ``` 在上述代码中,`encoding='gbk'` 参数指定了CSV文件采用GBK编码,这样在读取文件时就会使用GBK的解码方式,而不是默认的UTF-8解码方式。 2. 使用Unicode编码:Python 3默认采用Unicode编码,因此可以在读取CSV文件时使用`codecs`模块指定使用Unicode编码。例如: ```python import csv import codecs with codecs.open('data.csv', 'r', 'utf-8-sig') as f: reader = csv.reader(f) for row in reader: print(row) ``` 在上述代码中,`'utf-8-sig'`参数指定了使用UTF-8编码,同时去掉了UTF-8的BOM头,这样可以避免在第一列出现空白字符的情况。 3. 对包含中文字符的列进行特殊处理:如果CSV文件中包含了无法被正确解码的字符,可以在读取完整个CSV文件后对包含中文字符的列进行特殊处理。例如: ```python import csv with open('data.csv', 'r', encoding='gbk') as f: reader = csv.reader(f) for row in reader: # 对包含中文字符的列进行解码 decoded_row = [s.encode('latin1').decode('gbk') for s in row] print(decoded_row) ``` 在上述代码中,`encode('latin1').decode('gbk')`将原始字符串先转换成Latin-1编码,然后再使用GBK解码,这样可以避免无法正确解码的字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值