Python Pandas read_csv():誤って読み込まれたcsv

ミカル

Pandasのドキュメントによると、pandas.read_csv(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html)は、error_bad_linesとwarn_bad_linesがTrueに設定されていても、不良ラインの検出をサポートする必要があります。

だから私はtest.csvと呼ばれる悪いフォーマットのcsvを作成しました:

aaa,bbb,ccc
ssdf,sdtf,aesrt,,,,
eart,erate
aert,aert,aert 

そしてread_csvを実行します:

>>> pd.read_csv('test.csv', error_bad_lines = True )
                      aaa  bbb  ccc
ssdf sdtf  aesrt NaN  NaN  NaN  NaN
eart erate NaN   NaN  NaN  NaN  NaN

ドキュメントを理解しているので、エラーが発生しない場合を除いて、エラーが発生するはずです。代わりに、不正なcsvが読み込まれます。パンダはerror_bad_lines / warn_bad_linesのすべてを無視しているようです。

ドキュメントの理解が間違っているのでしょうか、それともパンダのバグなのですか?正しいcsvのみをロードするためのエレガントな回避策を知っている人はいますか?

Python 3.6.8、Pandas 0.25.0、Ubuntu18.04を使用しています。

JK

いくつかのテストを行ったところ、2行目で、ファイルの残りの部分で予想される列の数が決まることがわかりました。

たとえば、2行目(ssdf、sdtf、aesrt 、、、、、)には7つの列があります。したがって、次のすべての行の列が7未満の場合、エラーは発生しません。

1つの行を7以上に変更すると、クラッシュします。error_bad_linesのデフォルト値はtrueであるため、明示的に指定する必要はありません。

エラーのない例:

data.csv:

0,jjjjjj
1,er,ate,, # 5 columns
2,bb,b
3,sdtf,aesrt,ll,sdfd # 5 columns, so no errors appear.
4,erate,
5,aert,aert


df1 = pd.read_csv('data.csv')
df1

結果:エラーなし

0   jjjjjj
1   er  ate NaN NaN
2   bb  b   NaN NaN
3   sdtf    aesrt   ll  sdfd
4   erate   NaN NaN NaN
5   aert    aert    NaN NaN

エラーのある例:

data.csv:

0,jjjjjj
1,er,ate,, # 5 columns
2,bb,b
3,sdtf,aesrt,ll,sdfd,sdf,sdf,sdf,sdf, # more than 5 columns
4,erate,
5,aert,aert



df1 = pd.read_csv('data.csv')
df1

結果:エラー!!

ParserError: Error tokenizing data. C error: Expected 5 fields in line 4, saw 10

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pandas read_csv()によって読み込まれたdtypeの辞書を取得します

分類Dev

Python Pandas read_excel dtype str読み取り時またはto_csv経由での書き込み時に、nanを空白( '')に置き換えます

分類Dev

Pandas read_csvは、不規則なcsvファイルを使用して、誤った数の列を予期します

分類Dev

pandas.read_csvによって読み取られたcsvデータを検証する方法は?

分類Dev

Python Pandas:N列のcsvを読み取ります。Nは他の列で指定されています

分類Dev

pandas read_csv()とpythonイテレータを入力として

分類Dev

python pandasモジュールを使用したCSVへの書き込み:追加の列が追加されています

分類Dev

Python : Pandas DataFrame to CSV

分類Dev

pandas.read_csvを使用して、Pythonで区切り文字を含むcsvからコンテンツを読み取ります

分類Dev

Python Pandas - Read csv with commented header line

分類Dev

Pandasを使用してCSVから読み込まれたJSON文字列を解析する

分類Dev

Excelに書き込む-PandasとOpenpyxlでCSVを読み取る-Python

分類Dev

tensorflowの「保存されたモデル」APIを使用してJavaとPythonで読み込まれたモデルで誤った予測を取得する

分類Dev

Python pandas map CSV file

分類Dev

Pythonがcsvを読み取る-最初のキーに埋め込まれたBOM

分類Dev

Pandasを使用したPython--URLからCSVファイルを読み取ることができません

分類Dev

Python:APIによって動的に生成されたcsvファイルを読み取りますか?

分類Dev

numpy / pandasを使用してPythonでCSVファイルの最後のN行を読み取ります

分類Dev

Python Pandas read_csvで複数の文字区切り文字を使用する

分類Dev

pandas read_csvでヘッダーを読み取るときに、 `#`文字をスキップします

分類Dev

python pandasを使用してネストされたjsonデータをcsvに書き込む方法は?

分類Dev

pandas read_csvでこのタブ区切りファイルを読み取ると、行が失われます

分類Dev

C# Pandas read_csv Equivalent

分類Dev

Pandas read_csv only first comma

分類Dev

パンダはread_csvを読み取り、特定の行のみを保持します(python)

分類Dev

Dictionary to CSV with Pandas to_csv and reload it with read_csv

分類Dev

NaNを使用してJsonをPythonとPandasに読み込む

分類Dev

What is a very general way to read-in .csv in Python and pandas?

分類Dev

パンダPython-read_csvが各行の完全なデータを読み取っていません

Related 関連記事

  1. 1

    Pandas read_csv()によって読み込まれたdtypeの辞書を取得します

  2. 2

    Python Pandas read_excel dtype str読み取り時またはto_csv経由での書き込み時に、nanを空白( '')に置き換えます

  3. 3

    Pandas read_csvは、不規則なcsvファイルを使用して、誤った数の列を予期します

  4. 4

    pandas.read_csvによって読み取られたcsvデータを検証する方法は?

  5. 5

    Python Pandas:N列のcsvを読み取ります。Nは他の列で指定されています

  6. 6

    pandas read_csv()とpythonイテレータを入力として

  7. 7

    python pandasモジュールを使用したCSVへの書き込み:追加の列が追加されています

  8. 8

    Python : Pandas DataFrame to CSV

  9. 9

    pandas.read_csvを使用して、Pythonで区切り文字を含むcsvからコンテンツを読み取ります

  10. 10

    Python Pandas - Read csv with commented header line

  11. 11

    Pandasを使用してCSVから読み込まれたJSON文字列を解析する

  12. 12

    Excelに書き込む-PandasとOpenpyxlでCSVを読み取る-Python

  13. 13

    tensorflowの「保存されたモデル」APIを使用してJavaとPythonで読み込まれたモデルで誤った予測を取得する

  14. 14

    Python pandas map CSV file

  15. 15

    Pythonがcsvを読み取る-最初のキーに埋め込まれたBOM

  16. 16

    Pandasを使用したPython--URLからCSVファイルを読み取ることができません

  17. 17

    Python:APIによって動的に生成されたcsvファイルを読み取りますか?

  18. 18

    numpy / pandasを使用してPythonでCSVファイルの最後のN行を読み取ります

  19. 19

    Python Pandas read_csvで複数の文字区切り文字を使用する

  20. 20

    pandas read_csvでヘッダーを読み取るときに、 `#`文字をスキップします

  21. 21

    python pandasを使用してネストされたjsonデータをcsvに書き込む方法は?

  22. 22

    pandas read_csvでこのタブ区切りファイルを読み取ると、行が失われます

  23. 23

    C# Pandas read_csv Equivalent

  24. 24

    Pandas read_csv only first comma

  25. 25

    パンダはread_csvを読み取り、特定の行のみを保持します(python)

  26. 26

    Dictionary to CSV with Pandas to_csv and reload it with read_csv

  27. 27

    NaNを使用してJsonをPythonとPandasに読み込む

  28. 28

    What is a very general way to read-in .csv in Python and pandas?

  29. 29

    パンダPython-read_csvが各行の完全なデータを読み取っていません

ホットタグ

アーカイブ