加载2mb浮点数据集时出错(python)

时间:2017-09-07 14:50:04

标签: python-3.x

有没有人知道我为什么会收到" FileNotFoundError的错误:[Errno 2]没有这样的文件或目录:' bcs.xlsx'"当我加载这个大小为2mb的文件时,它有大约60,000行和4列。 我尝试使用csv而不是xlsx,但我得到了同样的错误,我已经检查了数百次脚本和文件在同一目录。

1 个答案:

答案 0 :(得分:0)

这是因为Python 找到你的文件,错误不是谎言。

但是你的问题存在误解,你检查过该文件与你的脚本在同一个目录中,但这不是你必须做的检查。您必须检查文件是否在python脚本的当前working directory中。

要查看当前的工作目录,请使用:

import os
print(os.getcwd())

正如我们所做的那样,你可以列出这个目录:

print(os.listdir())

我不知道你是如何执行你的脚本的,但是如果你正在使用终端模拟器,给程序提供文件名的典型方法是通过参数,而不是硬编码它的名字,比如使用argparse。如果你这样做,你的shell完成可能会帮助你正确命名你的文件,如:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('file', type=argparse.FileType('r'))
args = parser.parse_args()

print(args.file.read())

现在在shell上输入:

python3 ./thescript.py ./th[TAB]

你的shell将自动完成" ./ th"到" ./ thescript.py" (当且仅当它存在时),大大降低了输入拼写错误的可能性。通常情况下,如果文件名中包含空格,例如" script.py",则您的shell应正确自动填充the\ script.py

此外,如果你像我一样使用argparse和argparse.FileType,那么如果文件不存在,你将会有一个详细的错误:

thescript.py: error: argument file: can't open 'foo': [Errno 2] No such file or directory: 'foo'

但是......你已经有了一个冗长的错误。