【发布时间】: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,了解如何始终将文件扩展名显示为文件名的一部分。