chardet库来查看文件的编码格式

Python读取文件常遇到字符串编码的问题。
比如说在读取简体中文时,报错 UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xc8 in position 0: invalid continuation byte。其原因是简体中文编码格式并非utf-8。解决方法是先用chardet库来查看文件的编码格式,然后根据格式做出正确的解码。

import chardet
path=‘399300.csv’
f = open(path,'rb')
data = f.read()
print(chardet.detect(data))

结果如:
{‘encoding’: ‘GB2312’, ‘confidence’: 0.99, ‘language’: ‘Chinese’}

在 Python3 中标准编码格式 Standard Encodings
那么读取带中文简体字符的文件就可以这样写

import pandas as pd
df=pd.read_csv('399300.csv',header=0,sep=',',encoding='gb2312')

你可能感兴趣的:(Python,chardet,编码)