とhereはコアの問題に近づきました。私は見ていますが、他の方法で修正されていると思います。Pandas read_csv()がsepとquotecharと衝突して予期せぬ列数が発生する
私はそのフィールドを引用符で囲む必要があるため、現在はカンマが必要なフィールドを持つCSVを解析しようとしています。引用符で囲まれた唯一のフィールドです。
デリミタ(sep)はカンマで、現在は引用符(quotechar)の文字列区切り文字を追加しています。
私はこれまでこれを煮詰めました。 sepとquotecharアプリケーションの順序が重要な問題であると私には思えますが、その中でseoteが使用されているquotecharを持つ行は動作しません。
最後の行がコメントアウトされたデータファイル。
$ cat simple.csv
column1,column2, column3
one, two, three
one, two, "three"
#one, "two, two_again", three
$
コード:
df = pd.read_csv(simple_file, sep=',', header=0, comment='#', quotechar='"')
print df
出力:
column1 column2 column3
0 one two three
1 one two "three"
さて、引用符で囲まれた文字列で9月の炭を持っている最後の行を追加します。
データファイル:
$ cat simple.csv
column1,column2, column3
one, two, three
one, two, "three"
one, "two, two_again", three
$
出力は失敗:
pandas/parser.pyx in pandas.parser.raise_parser_error (pandas/parser.c:22649)()
CParserError: Error tokenizing data. C error: Expected 3 fields in line 4, saw 4
私は私が最初に各ライン上の引用の区切り文字を使用するためにパンダを強制し、それをやっているとして区切り文字を使用したいと考えています反対。どのように把握することはできません。私が見つけられないパンダにこれを伝える方法はありますか?
はスペースを取り除くを取得またはセパレータの一部としてスペースを定義します。次に、header = Noneを指定するだけでファイルを読むことができます。デフォルトは残りの部分を処理します。 – pvg