【问题标题】:Error:** *FileNotFoundError: [Errno 2] No such file or directory: -- But the file is there错误:** *FileNotFoundError: [Errno 2] 没有这样的文件或目录:- 但文件在那里
【发布时间】:2020-02-03 10:02:24
【问题描述】:

这段代码sn-p有什么问题?

filename = "https://...filepath.../auto.csv"

with open (filename) as readfile:
df = pd.read_csv(readfile) 

错误: FileNotFoundError: [Errno 2] 没有这样的文件或目录:

我确定该文件存在并且是正确的路径,因为当我使用它时它可以工作

df = pd.read_csv(filename, names = headers)

【问题讨论】:

  • 第二种可行的方法是使用 pandas 的正确方法...为什么要使用第一种方法?此外,在发布 Python 问题时,缩进非常重要!
  • open() 只能访问本地文件,即存在于您当前使用的计算机磁盘上的文件。 “文件名”是指定远程位置的 URL,而不是本地文件系统中的文件;所以你不能open()那个。也许试试requests
  • @tripleee 谢谢。这似乎是原因。我尝试使用本地文件,它可以工作。

标签: python pandas


【解决方案1】:

pandas read 的正确用法是后者,尽管您可以像这样使用它

with open(filename) as readfile:
    df = pd.read_csv(readfile.read())

pandas.read_csv() 方法接受filepath_or_buffer 作为接受的参数,请参阅以下内容。

参数:filepath_or_buffer : str, path object or file-like object 任何有效的字符串路径都是可接受的。该字符串可以是一个 URL。有效的 URL 方案包括 http、ftp、s3 和文件。对于文件 URL,主机是 预期的。本地文件可以是:file://localhost/path/to/table.csv。

如果你想传入一个路径对象,pandas 接受任何 os.PathLike。

通过类文件对象,我们指的是具有 read() 方法的对象,例如 文件处理程序(例如,通过内置的 open 函数)或 StringIO。

您可以查看 read_csv 方法 here 的完整文档。

【讨论】:

    猜你喜欢
    • 2019-12-12
    • 2011-04-02
    • 2019-01-21
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多