我从MSQL数据库导出了一个逗号分隔值文件(rpt-file结尾)。它只有两列和8行。在记事本中查看文件,一切看起来都不错。我尝试使用以下代码将数据加载到pandas数据框中:
import pandas as pd
with open('file.csv', 'r') as csvfile:
df_data = pd.read_csv(csvfile, sep=',' , encoding = 'utf-8')
print(df_data)
当打印到控制台时,第一列标题名称是错误的,在第1列的开头有一些额外的字符,我没有错误,但很明显第一列在我的代码中被错误地解码:{{3} }
任何人对如何做到这一点都有任何想法?
答案 0 :(得分:2)
这里有一个可能的选项:在加载它们之后修复这些标题:
df.columns = [x.encode('utf-8').decode('ascii', 'ignore') for x in df.columns]
str.encode
后跟str.decode
调用将删除这些特殊字符,只留下ASCII范围内的字符:
>>> 'aSA'.encode('utf-8').decode('ascii', 'ignore')
'aSA'