Python读取具有千位分隔符的逗号分隔txt文件

5

我的逗号分隔的文本文件包含以下格式的数据(当然,还有更多列和行)。

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

我认为错误发生的原因是某些数据包含了千位分隔符。有什么建议吗?

2
一个快速的解决方法是只需使用.split(", ") - fractals
你能详细说明一下你的建议吗? - kevin
2个回答

4
请尝试使用以下内容:
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

3
也许需要额外添加一个sep参数:
df = pd.read_csv("data.txt", sep = ', ', header = None, thousands = ',')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接