Home > Net >  pandas read_csv error when loading a plain CSV file
pandas read_csv error when loading a plain CSV file

Time:07-26

I am having this very weird error with python pandas:

import pandas as pd

df = pd.read_csv('C:\Temp\test.csv', index_col=None, comment='#', sep=',')

The test.csv is a very simple CSV file created in Notepad:

aaa,bbb,date
hhhhh,wws,20220701

Now I get the error:

  File "C:\test\untitled0.py", line 10, in <module>
    df = pd.read_csv('C:\temp\test.csv', index_col=None, comment='#', sep=',')

  File "C:\...\lib\site-packages\pandas\util\_decorators.py", line 311, in wrapper
    return func(*args, **kwargs)

  File "C:\...\lib\site-packages\pandas\io\parsers\readers.py", line 586, in read_csv
    return _read(filepath_or_buffer, kwds)

  File "C:\...\lib\site-packages\pandas\io\parsers\readers.py", line 482, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)

  File "C:\...\lib\site-packages\pandas\io\parsers\readers.py", line 811, in __init__
    self._engine = self._make_engine(self.engine)

  File "C:\...\lib\site-packages\pandas\io\parsers\readers.py", line 1040, in _make_engine
    return mapping[engine](self.f, **self.options)  # type: ignore[call-arg]

  File "C:\...\lib\site-packages\pandas\io\parsers\c_parser_wrapper.py", line 51, in __init__
    self._open_handles(src, kwds)

  File "C:\...\lib\site-packages\pandas\io\parsers\base_parser.py", line 229, in _open_handles
    errors=kwds.get("encoding_errors", "strict"),

  File "C:\...\lib\site-packages\pandas\io\common.py", line 707, in get_handle
    newline="",

OSError: [Errno 22] Invalid argument: 'C:\temp\test.csv'

I also tried to use Excel to export a CSV file, and get the same error.

Does anyone know what goes wrong?

CodePudding user response:

In a python string, the backslash in '\t' is an escape character which causes those two characters ( \ followed by t) to mean tab. You can get around this using raw strings by prefacing the opening quote with the letter 'r':

r'C:\Temp\test.csv'
  • Related