Python:使用 pandas 导入 csv 文件时出现 ID 错误

Posted

技术标签:

【中文标题】Python:使用 pandas 导入 csv 文件时出现 ID 错误【英文标题】:Python: ID error when importing csv file with pandas 【发布时间】:2019-04-28 22:59:26 【问题描述】:

我正在尝试导入保存在本地文件夹中的 csv 文件。当我使用 Anaconda Python Notebook 时我没有问题,而使用 Zeppelin 我确实有问题。 我正在使用的在 Anaconda 中运行良好的代码是:

#import csv data

frequency=pd.read_csv("C:\\Users\\L18938\\Desktop\\Vehicle_to_grid\\analysis\\Frequency_March_2018.csv", nrows=86401)

但是,在 Zeppelin 上运行它时,我收到:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 646, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 389, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 730, in __init__
    self._make_engine(self.engine)
  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 923, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 1390, in __init__
    self._reader = _parser.TextReader(src, **kwds)
  File "pandas/parser.pyx", line 373, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:4025)
  File "pandas/parser.pyx", line 667, in pandas.parser.TextReader._setup_parser_source (pandas/parser.c:8031)
IOError: File C:\Users\L18938\Desktop\Vehicle_to_grid\analysis\Frequency_March_2018.csv does not exist

很明显,文件存在,路径拼写没有错误。

我尝试过/或加倍\,但没有任何改变。还有

os.chdir("C:/Users/L18938/Desktop/Vehicle_to_grid/analysis")

os.listdir("C:/Users/L18938/Desktop/Vehicle_to_grid/analysis")

有什么想法吗?提前谢谢你

【问题讨论】:

很奇怪,不会发生...... 我认为Frequency_March_2018.csv不存在)再次检查路径 是否可能与 os.path 或 os.chdir 有关?老实说我没有设置,但也许它们是默认设置的 您是否尝试将 \ 还原为 /? @Luca91 - 你试过os.listdir("C:\Users\L18938\Desktop\Vehicle_to_grid\analysis\") 【参考方案1】:

你的 Traceback 让你知道 python 解释器在 Unix 文件路径模式下运行 (/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py)

当您在 Anaconda 下时,您处于纯窗口中,您的回溯将类似于 (C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py)

Anaconda 将使用 Windows 类型的文件路径访问文件,而 Zeppelin 将使用 UNIX 类型的文件路径访问文件。

您的问题肯定与您如何在 Zeppelin 中指定路径有关,您不能使用 Windows 路径,但您可以尝试类似的方法:

frequency=pd.read_csv("file:///C:/Users/L18938/Desktop/Vehicle_to_grid/analysis/Frequency_March_2018.csv", nrows=86401)

【讨论】:

以上是关于Python:使用 pandas 导入 csv 文件时出现 ID 错误的主要内容,如果未能解决你的问题,请参考以下文章

无法让熊猫打开 CSV [Python, Jupyter, Pandas]

Python导入csv数据

如何将SalesForce数据导入Python Panda数据帧

使用 python 将 pandas 数据框导入 MS Access 表

pandas库明明安装成功了,为啥总是导入错误?

Pandas:如何比较导入的 csv 文件的列以确保它们相同?