【问题标题】:Remove non-ASCII characters from DataFrame column headers从 DataFrame 列标题中删除非 ASCII 字符
【发布时间】:2017-08-22 08:48:23
【问题描述】:

我从 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)

当打印到控制台时,第一列标题名称在第 1 列的开头有一些额外的字符  是错误的。我没有收到任何错误,但显然第一列在我的代码中被错误地解码:Image of output

有人对如何做到这一点有任何想法吗?

【问题讨论】:

    标签: python string pandas dataframe unicode


    【解决方案1】:

    这是一种可能的选择:在加载这些标题后修复它们:

    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'
    

    【讨论】:

      猜你喜欢
      • 2016-07-20
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 2012-01-21
      • 2010-12-04
      相关资源
      最近更新 更多