【问题标题】:Python read comma separated txt file having thousands separatorPython读取具有千位分隔符的逗号分隔txt文件
【发布时间】:2018-08-23 03:01:33
【问题描述】:

我的逗号分隔的txt文件包含如下格式的数据(当然列和行更多)。

1977,PA,2017-08-07,55,New Firms,327.0
1978,NY,2017-08-07,45,New Firms,$30,127
1978,NY,2017-08-07,$10,000,New Firms,1,000

如您所见,一些数据包含千位分隔符,我这样读:

df=pd.read_csv("data.txt", thousands=r',')
df.head()

这会给出一条错误消息

ParserError: Error tokenizing data. C error: Expected 13 fields in line 102996, saw 14

我认为发生错误是因为某些数据包含数千个分隔符。

有什么建议吗?

【问题讨论】:

  • 一个快速的解决方法是使用.split(", ")
  • 你能详细说明你的建议吗?

标签: python pandas


【解决方案1】:

试试这个

df=pd.read_csv("text.csv", sep=', ',header =None,names=['colA','colB','colC','colD','colE','colF'])

df.head()

它输出:

Out[25]: 
   colA colB        colC     colD       colE     colF
0  1977   PA  2017-08-07       55  New Firms    327.0
1  1978   NY  2017-08-07       45  New Firms  $30,127
2  1978   NY  2017-08-07  $10,000  New Firms    1,000

【讨论】:

    【解决方案2】:

    也许是一个额外的sep 参数:

    df = pd.read_csv("data.txt", sep = ', ', header = None, thousands = ',')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      相关资源
      最近更新 更多