16

行に余分な末尾の区切り文字があるcsv(コンマ区切り)ファイルは、混乱するようpandas.read_csvです。(データファイルは[1]です)

余分な区切り文字は、余分な列があるかのように扱われます。したがって、ヘッダーに必要な列より1つ多い列があります。次にpandas.read_csv、最初の列を行ラベルとして使用します。全体的な効果として、列とヘッダーが整列しなくなります。最初の列は行ラベルになり、2番目の列は最初のヘッダーで名前が付けられます。

かなり迷惑です。pandas.read_csv正しいことをするように伝える方法はありますか?見つかりませんでした。

素晴らしい本、ところで。


[1]: Python forDataAnalysisの本の第9章からの2012FEC選挙データベース

4

3 に答える 3

6

この問題を自動的に処理する方法を確認するために、GitHubの問題を作成しました。

https://github.com/pydata/pandas/issues/2442

FECファイル形式が少し変更されたため、この厄介な問題が発生したと思います。http://github.com/pydata/pydata-bookに投稿されているものを使用すれば問題が発生しないことを願っています。

于 2012-12-06T22:17:05.597 に答える
5

まあ、非常に簡単な回避策があります。次の場所でcsvファイルを読み取るときに、ヘッダーにダミーの列を追加します。

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

次に、列とヘッダーが再び整列されます。

于 2012-12-06T13:07:17.760 に答える