我已经从 MSQL 数据库导出了一个逗号分隔值文件(rpt 文件结尾)。它只有两列和 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)
当打印到控制台时,第一列标题名称错误,在第一列的开头有一些额外的字符  。我没有收到任何错误,但显然第一列在我的代码中解码错误: Image of output
有人对如何做到这一点有任何想法吗?
最佳答案
这是一个可能的选项:加载这些 header 后修复它们:
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'
关于python - 从 DataFrame 列标题中删除非 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45812978/