58

read_csv の意図を誤解していると思います。次のようなファイル「j」がある場合

# notes
a,b,c
# more notes
1,2,3

「#」コメント行をスキップして、このファイルを pandas.read_csv するにはどうすればよいですか? 行の「コメント」はサポートされていませんが、空の行を返す必要があることを示しています。エラーが表示される

df = pandas.read_csv('j', comment='#')

CParserError: データのトークン化でエラーが発生しました。C エラー: 行 2 に 1 フィールドが必要ですが、3 が表示されました

私は現在オンです

In [15]: pandas.__version__
Out[15]: '0.12.0rc1'

バージョン「0.12.0-199-g4c8ad82」:

In [43]: df = pandas.read_csv('j', comment='#', header=None)

CParserError: データのトークン化でエラーが発生しました。C エラー: 行 2 に 1 フィールドが必要ですが、3 が表示されました

4

3 に答える 3

3

私は Pandas バージョン 0.13.1 を使用していますが、このコメントの csv の問題は依然として気になります。

これが私の現在の回避策です:

def read_csv(filename, comment='#', sep=','):
    lines = "".join([line for line in open(filename) 
                     if not line.startswith(comment)])
    return pd.read_csv(StringIO(lines), sep=sep)

そうでなければpd.read_csv(filename, comment='#')私は得る

pandas.parser.CParserError: データのトークン化でエラーが発生しました。C エラー: 行 16 に 1 フィールドが期待されていましたが、3 が表示されました。

于 2014-05-12T09:09:16.290 に答える