无法使用熊猫在 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_Modelling
与 churn_modelling
不同)。
【讨论】:
好的,先生,我按照你说的做了,输出是 "/root" 。但为什么?我在桌面的特定子文件夹中有 py 文件,我会尝试将 csv 文件放在根文件夹中或使用相对路径(即使我已经尝试过) 您可能正在从服务运行脚本。我会尝试绝对而不是将文件移动到/root
。以上是关于无法使用熊猫在 python3 中加载 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Azure ML 上的 jupyter notebook 中加载 csv 并设置参数
使用 sparklyr 时无法在本地 Spark 连接中加载 .csv 数据
使用 numpy.genfromtxt 在 Python 3 中加载 UTF-8 文件