我正在关注Python for Data Analysis一书中的示例.具体来说,2012年选举数据库来自第9章.数据位于一个大的csv文件中,以逗号分隔.但是文件的每一行都有一个额外的尾随分隔符,这似乎很混乱pandas.read_csv.
它将额外的分隔符视为有一个额外的列.因此,除了标题所需的列之外,还有一列.然后pandas.read_csv将第一列作为行标签.总体效果是列和标题不再对齐 - 第一列成为行标签,第二列由第一个标题命名,等等.
这很烦人.知道如何告诉pandas.read_csv做正确的事吗?我找不到一个.
好书,顺便说一句.
我创建了一个GitHub问题,以便自动处理此问题:
https://github.com/pydata/pandas/issues/2442
我认为FEC文件格式略有改变导致这个恼人的问题 - 如果你使用这里发布的那个http://github.com/pydata/pydata-book你希望不会有这个问题.
嗯,有一个非常简单的解决方法。读取 csv 文件时在标题中添加一个虚拟列:
cols = ...
cols.append('')
records = pandas.read_csv('filename.txt', skiprows=1, names=cols)
Run Code Online (Sandbox Code Playgroud)
然后列和标题再次对齐。
| 归档时间: |
|
| 查看次数: |
4025 次 |
| 最近记录: |