2017-06-19 71 views
0

我正在使用Python 3.5,並且在打開CSV文件時遇到了一些問題。我試過輸入整個路徑,但仍然無法正常工作,但文件顯然在文件夾中。 (我的代碼被稱爲 'simplecsvtest.py')即使使用完整文件路徑也無法打開CSV文件

下面的代碼片段:

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 
Traceback (most recent call last): 
    File "simplecsvtest.py", line 20, in 
    file = open(r"C:\python35\files\results.csv", 'rt') 
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\python35\\files\\results.csv' 

嗯,我很肯定,「結果.csv'在該文件夾中:這裏是Windows資源管理器中的文件路徑:

 
C:\Python35\files 

(注意:該文件夾有帽子'P'代表Python35,我試過在代碼中使用大寫字母和非大寫字母'P',兩者都不起作用)

CSV文件是一個「Microsoft Excel逗號分隔值文件」該擴展名仍然是csv。誰能告訴我什麼是錯的?

+1

Windows文件系統不區分大小寫,因此套管不應該成爲問題。如果您使用正斜槓作爲路徑,您會得到相同的結果嗎?您可以手動打開文件(例如PowerShell中的'cat「C:\ python35 \ files \ results.csv」')嗎?目錄是一個符號鏈接/連接嗎? –

+0

我想這個問題是隱藏的文件擴展名。因此即使文件顯示爲「results.csv」,它也可能有一個額外的(隱藏的)擴展名(例如'.csv',所以實際的文件名將是'results.csv.csv')。您可能將該文件從'results'重命名爲'results.csv',並保留實際的(隱藏的)擴展名。查看[本教程](https://www.howtogeek.com/205086/beginner-how-to-make-windows-show-file-extensions/)關於如何始終將文件擴展名顯示爲文件名的一部分。 –

回答

0

我建議你的項目文件夾內創建文件夾,然後使用相對路徑:

文件=打開(R 「\文件\ results.csv。」, 'RT')

。意味着該路徑相對於您當前的目錄

+0

也檢查文件的權限 – sach20

+0

嗯。我也給了一個嘗試,但由於某種原因彈出同樣的錯誤......我也檢查了文件的權限,我應該有完整的訪問權限/編輯+我已經以管理員身份啓動Powershell。不過,我確實找到了一些解決方法(請參閱我自己的答案)。還是)感謝你的建議! – a2xia

0

我自己想出了一個解決方案: 不知何故,如果我從csv複製所有數據並將其粘貼到新的Excel電子表格中並將其另存爲csv , 有用。我不知道爲什麼。