【问题标题】:Can't open CSV file even with full file path即使使用完整的文件路径也无法打开 CSV 文件
【发布时间】:2017-06-19 13:15:53
【问题描述】:

我使用的是 Python 3.5,但在打开 CSV 文件时遇到了一些问题。我试过输入整个路径,但它仍然不起作用,但文件显然在文件夹中。 (我的代码叫做'simplecsvtest.py')

这里是sn-p的代码:

import csv
import sys

file = open(r"C:\python35\files\results.csv", 'rt')

try:
    reader = csv.reader(file, delimiter='\t')
    ... some code here ...

finally:
    file.close()

PowerShell 是这样说的:

PS C:\python35\files> python simplecsvtest.py 回溯(最近一次通话最后): 文件“simplecsvtest.py”,第 20 行,在 文件 = 打开(r“C:\python35\files\results.csv”,'rt') FileNotFoundError:[Errno 2] 没有这样的文件或目录:'C:\\python35\\files\\results.csv'

嗯,我很确定“results.csv”在那个文件夹中:这是 Windows 资源管理器中的文件路径:

C:\Python35\文件

(注意:对于 Python35,该文件夹具有大写的“P”,我尝试在代码中同时使用大写和非大写的“P”,均无效)

CSV 文件是“Microsoft Excel 逗号分隔值文件”,如果这很重要,但扩展名仍然是 csv。谁能告诉我怎么了?

【问题讨论】:

  • Windows 文件系统不区分大小写,因此大小写应该不是问题。如果您在路径中使用正斜杠,您会得到相同的结果吗?您可以手动打开文件吗(例如 PowerShell 中的cat "C:\python35\files\results.csv")?目录是符号链接/连接吗?
  • 我猜问题是隐藏的文件扩展名。所以即使文件显示为results.csv,它也可能有一个额外的(隐藏的)扩展名(例如.csv,所以实际的文件名是results.csv.csv)。您可能将此文件从results 重命名为results.csv,保留实际(隐藏)扩展名。检查this tutorial,了解如何始终将文件扩展名显示为文件名的一部分。

标签: python csv


【解决方案1】:

我建议在您的项目文件夹中创建一个文件夹,然后使用相对路径:

file = open(r".\files\results.csv", 'rt')

。意味着路径是相对于您当前目录的

【讨论】:

  • 同时检查文件的权限
  • 嗯。我也尝试过,但由于某种原因,弹出了相同的错误...我还检查了文件的权限,我应该拥有完全访问/编辑权限+我已经以管理员身份启动了 Powershell。但是我确实找到了一些解决方法(请参阅我自己的答案)。不过感谢您的建议!
【解决方案2】:

我自己想出了一个变通的解决方案: 不知何故,如果我从 csv 复制所有数据并将其粘贴到新的 excel 电子表格中并将其另存为 csv,它就可以工作。我不知道为什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 2022-12-04
    • 2022-10-05
    • 1970-01-01
    • 2021-08-13
    • 2020-12-24
    • 2016-07-23
    相关资源
    最近更新 更多