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]
如何将SalesForce数据导入Python Panda数据帧