0

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?

1 Answer 1

5

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'
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.