繁体   English   中英

加载普通 CSV 文件时出现 pandas read_csv 错误

[英]pandas read_csv error when loading a plain CSV file

我在使用 python pandas 时遇到了这个非常奇怪的错误:

import pandas as pd

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

test.csv 是在记事本中创建的一个非常简单的 CSV 文件:

aaa,bbb,date
hhhhh,wws,20220701

现在我得到错误:

  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'

我还尝试使用 Excel 导出 CSV 文件,并得到相同的错误。

有谁知道出了什么问题?

在 python 字符串中, '\t'中的反斜杠是一个转义字符,它导致这两个字符( \后跟t )表示tab 您可以使用raw strings来解决这个问题,方法是在开头的引号前面加上字母 'r':

r'C:\Temp\test.csv'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM