尾随字符串混淆pandas read_csv

ckocjqey  于 11个月前  发布在  其他
关注(0)|答案(3)|浏览(121)

一个csv(逗号分隔)文件,其中的行有一个额外的尾随字符串,似乎混淆了pandas.read_csv。(数据文件是[1])
pandas.read_csv将第一列作为行标签。总体效果是列和标题不再对齐-第一列成为行标签,第二列由第一个标题命名,等等。
这是相当恼人的。任何想法如何告诉pandas.read_csv做正确的事情?我找不到一个。
很棒的书,顺便说一句。
[1]:2012年FEC选举数据库,摘自本书第9章 Python for Data Analysis

oxf4rvwz

oxf4rvwz1#

Wes写了一个blogpost关于这个问题。如果行中有一个值太多,它会被视为行名称。
可以通过将index_col=False设置为read_csv的选项来更改此行为。

wooyq4lh

wooyq4lh2#

我创建了一个GitHub问题来看看如何自动处理这个问题:
https://github.com/pydata/pandas/issues/2442
我认为FEC文件格式略有改变,导致这个恼人的问题-如果你使用这里张贴的http://github.com/pydata/pydata-book,你希望不会有这个问题。

ymzxtsji

ymzxtsji3#

有一个非常简单的解决方法。当阅读csv文件时,在头中添加一个虚拟列:

cols = ...
cols.append('')
records = pandas.read_csv('filename.txt', skiprows=1, names=cols)

字符串
然后列和标题再次对齐。

相关问题