====== 2023.05.31 Pandas Error ====== Pandasでreadする時に、一部列が多くなっていたりすとカラム名が分からずエラーになります。 ===== ERROR ===== Traceback (most recent call last): File "C:\Users\s-matsui\Desktop\_kabu\thread_board_kabucom2.py", line 1469, in main() File "C:\Users\s-matsui\Desktop\_kabu\thread_board_kabucom2.py", line 1465, in main schedule.run_pending() File "c:\py\Lib\site-packages\schedule\__init__.py", line 822, in run_pending default_scheduler.run_pending() File "c:\py\Lib\site-packages\schedule\__init__.py", line 100, in run_pending self._run_job(job) File "c:\py\Lib\site-packages\schedule\__init__.py", line 172, in _run_job ret = job.run() ^^^^^^^^^ File "c:\py\Lib\site-packages\schedule\__init__.py", line 693, in run ret = self.job_func() ^^^^^^^^^^^^^^^ File "C:\Users\s-matsui\Desktop\_kabu\thread_board_kabucom2.py", line 1012, in sell_job_all delete_old_log(remaine_line) File "C:\Users\s-matsui\Desktop\_kabu\thread_board_kabucom2.py", line 1213, in delete_old_log df = pd.read_csv(path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\py\Lib\site-packages\pandas\io\parsers\readers.py", line 912, in read_csv return _read(filepath_or_buffer, kwds) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\py\Lib\site-packages\pandas\io\parsers\readers.py", line 583, in _read return parser.read(nrows) ^^^^^^^^^^^^^^^^^^ File "c:\py\Lib\site-packages\pandas\io\parsers\readers.py", line 1704, in read ) = self._engine.read( # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\py\Lib\site-packages\pandas\io\parsers\c_parser_wrapper.py", line 234, in read chunks = self._reader.read_low_memory(nrows) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "pandas\_libs\parsers.pyx", line 812, in pandas._libs.parsers.TextReader.read_low_memory File "pandas\_libs\parsers.pyx", line 873, in pandas._libs.parsers.TextReader._read_rows File "pandas\_libs\parsers.pyx", line 848, in pandas._libs.parsers.TextReader._tokenize_rows File "pandas\_libs\parsers.pyx", line 859, in pandas._libs.parsers.TextReader._check_tokenize_status File "pandas\_libs\parsers.pyx", line 2025, in pandas._libs.parsers.raise_parser_error pandas.errors.ParserError: Error tokenizing data. C error: Expected 21 fields in line 155, saw 41 ===== 対応 ===== これをそのままread_csvで読むとエラーになります。 例 a,a,a b,b,b c,c,c,c,c こうやってカラム名を与えてあげると、読み込めます。 このrangeの数字は、カラム数+1で指定してあげる。 col = range(1,6,1) df = pd.read_csv(path, names=col) 1 2 3 4 5 0 a a a NaN NaN 1 b b b NaN NaN 2 c c c c c {{tag>日記 python}}