无法使用熊猫在 python3 中加载 csv 文件

Posted

技术标签:

【中文标题】无法使用熊猫在 python3 中加载 csv 文件【英文标题】:can't load csv file in python3 with pandas 【发布时间】:2018-09-22 20:08:12 【问题描述】:

大家好,我不知道为什么,但是 pandas 确实无法在我的 python 代码中加载我的 csv 文件。该文件位于我的 python 项目的同一文件夹中,我正在使用 tensorflow、theano、pandas、numpy 和 matplotlib 库。 已经 2 小时了,我尝试使用 pip3 命令卸载所有内容并再次重新安装。我卸载了 tensorflow、pandas、theano、numpy,甚至还卸载了 python2 和 python3。没有。我还更新和升级了我的 linux 发行版。无用。

这是我在 Spyder3 内部终端中执行部分代码时不断遇到的错误:

    dataset = pd.read_csv('Churn_Modelling.csv')
Traceback (most recent call last):

  File "<ipython-input-4-610b2f33ea04>", line 1, in <module>
    dataset = pd.read_csv('Churn_Modelling.csv')

  File "/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py", line 709, in parser_f
    return _read(filepath_or_buffer, kwds)

  File "/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py", line 449, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)

  File "/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py", line 818, in __init__
    self._make_engine(self.engine)

  File "/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py", line 1049, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)

  File "/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py", line 1695, in __init__
    self._reader = parsers.TextReader(src, **kwds)

  File "pandas/_libs/parsers.pyx", line 402, in pandas._libs.parsers.TextReader.__cinit__

  File "pandas/_libs/parsers.pyx", line 718, in pandas._libs.parsers.TextReader._setup_parser_source

FileNotFoundError: File b'Churn_Modelling.csv' does not exist

这就是该死的代码行:

dataset = pd.read_csv('Churn_Modelling.csv')

这有什么问题吗?我也尝试重命名它。

【问题讨论】:

我很困惑。您使用的是read_csv 还是load_csv 你对错误信息有什么不明白的地方? os.listdir(os.getcwd()) 的输出是什么?你看到那里列出的文件了吗? Harv Ipan 对不起,你是对的,我正在使用“read_cvs”编辑帖子。 【参考方案1】:

错误消息是FileNotFoundError: File b'Churn_Modelling.csv' does not exist。如果该文件存在,则说明它不在您的 python 脚本的同一工作目录中。

我会尝试打印当前工作目录来检查python是否在正确的目录中寻找文件。

import os
print(os.getcwd())

或者,您可以使用绝对路径,而不是使用相对路径(例如,Churn_Modelling.csv)导入文件

dataset = pd.read_csv('/path/to/file/Churn_Modelling.csv')

另外,请注意在 POSIX 系统(例如,Linux / Mac)中,文件名区分大小写(即,Churn_Modellingchurn_modelling 不同)。

【讨论】:

好的,先生,我按照你说的做了,输出是 "/root" 。但为什么?我在桌面的特定子文件夹中有 py 文件,我会尝试将 csv 文件放在根文件夹中或使用相对路径(即使我已经尝试过) 您可能正在从服务运行脚本。我会尝试绝对而不是将文件移动到/root

以上是关于无法使用熊猫在 python3 中加载 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure ML 上的 jupyter notebook 中加载 csv 并设置参数

使用 sparklyr 时无法在本地 Spark 连接中加载 .csv 数据

在熊猫中打开损坏的csv文件的策略

使用 numpy.genfromtxt 在 Python 3 中加载 UTF-8 文件

如何请求一个 zip 文件,提取它,然后从 csv 文件创建熊猫数据框?

无法在 cshtml 中加载 ReportViewerForMvc 参考