csvデータのpandas読み込みエラーの対応

当ページのリンクには広告が含まれています。
230222アイキャッチ

csvファイルのデータをPythonのpandasで読み込むときに以下のエラーとなってしまいはまりました。

pandas.errors.ParserError: Error tokenizing data. C error: Expected 24 fieldder._tokenize_rowss in line 4, saw 28  

このエラーは、行と列のデータが不規則な場合に発生します。

列がやたら多いCSVデータで発生しました。

この記事では、エラーの一つ「pandas.errors.ParserError」の原因と具体的な解決方法について解説します。

目次

CSVデータのPandas読み込みエラーの対応方法

CSVファイルをPandasで読み込む際に発生する「pandas.errors.ParserError」は、行と列のデータが不整合である場合に多く見られます。例えば、特定の行で期待されるフィールド数より多いデータが含まれている場合に発生します。

エラーの解決方法

対応方法としては、以下の2つの方法があります

  • CSVファイルの直接編集
  • ファイルの読み込み設定の工夫

直接編集はおかしな行や列を削除することで解決しますが、ファイルが増えてくると対応が難しくなりスマートではありません。

今回の記事では、ファイルの読み込み設定の工夫で解決しましたので紹介します。

Pandasのread_csvの設定変更

解決策です。先に列名を必要な数用意します(今回は100列分)

あとは、普通にpandasのread_csvでcsvファイルを読み込みます。読み込んだデータの列名はcol_1-100になっていますので、リネームするなど適宜対応すればOKです。

import pandas as pd

# 列名
col_names = ['col_{}'.format(i) for i in range(100)]

df = pd.read_csv('test.csv', names=col_names)

print(df.head(5))

というわけで、PandasでCSVファイルが読み込めないときに、先に列名を作るとエラーを回避することができます。

まとめ

PandasでCSVファイルの読み込みエラーに対処するためには、事前に列名を指定する方法が効果的です。これにより、多くのデータを効率よく処理することができます。

関連記事

記事タイトル説明
Google Colaboratoryアップデート後のSeleniumエラー解決法:コードコピペで解決!Google Colaboratoryのアップデート後に生じるSeleniumエラーの解決法を紹介します。
ChatGPTのCode InterpreterのCSVファイルの扱いについての注意点ChatGPTでPythonを使う際のCSVファイルの読み込みエラーの対策について説明します。
関連記事

Python関連書籍

あわせて読みたい
Google Colaboratoryアップデート後のSeleniumエラー解決法:コードコピペで解決! Google Colaboratoryのアップデート後に生じているSeleniumエラーを解決するコードを紹介します。 Seleniumを使ったスクレイピングが難しくなっていました。この記事で...
あわせて読みたい
ChatGPTのCode InterpreterのCSVファイルの扱いについての注意点 ChatGPTでPythonが使えるCode Interpreterですが、CSVファイルの読み込みの際に日本語フォントを含んだファイルでは読み込みにエラーが生じることが何度かありましたの...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

こんにちは、Dr. Harv です。専門医としてのキャリアを積む一方で、資産運用、副業、ポイ活にも取り組んでいます。
このブログ「dr-harv.com」では、日々の日常、投資の知見、趣味など幅広いトピックを扱っています。より良い未来につながることをコンセプトにしています。読者の皆様にとって何か役立つ情報を提供できれば幸甚です。

コメント

コメントする

目次