我正在尝试打开一个csv文件并加载它,但它声明它无法找到该文件,当它显然存在于我编写的文件路径中时。
代码
#Load the CSV file into CSV reader
csvfile = open("C:/Users/Sam/Desktop/big data/workspace/test.csv",'rb')
错误
Traceback (most recent call last):
File "C:/Users/Sam/Desktop/big data/workspace/yelpdatabase.py", line 16, in <module>
csvfile = open("C:/Users/Sam/Desktop/big data/workspace/test.csv",'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/Sam/Desktop/big data/workspace/test.csv'
答案 0 :(得分:2)
试试这样:
csvfile = open(r"C:/Users/Sam/Desktop/big data/workspace/test.csv","rb")
确保您的文件名不是test.csv.txt
,有时Windows会将.csv作为文件名的一部分
使用Python 2.7.12进行测试
答案 1 :(得分:0)
发布此信息,因为这可能是此类问题的原因,如果不一定在这种特定情况下。 Desktop
(以及大多数其他用户文件夹)是一个伪魔术文件夹,您不能总是在C:\Users\USERNAME\Desktop
找到它。特别是,仅仅因为你在桌面上看到一个文件并不意味着它实际上存在。它可能位于All Users
Desktop
文件夹中,其中任何一个都可以通过Windows库文件夹重定向魔术重定向。
如果您想要动态获取用户桌面的正确路径,可以使用pywin32
扩展名来执行此操作:
from win32com.shell import shell, shellcon
shell.SHGetFolderPath(0, shellcon.CSIDL_MYPICTURES, None, 0)
(提示为this answer),或为所有用户获取公共Desktop
文件夹:
import win32com.client
objShell = win32com.client.Dispatch("WScript.Shell")
allUserDocs = objShell.SpecialFolders("AllUsersDesktop")
(帽子提示为this answer)。
上述两种方法都可以在Vista及更高版本上替换,代码可以调用SHGetKnownFolderPath
(如果支持pywin32
则使用ctypes
,或使用{{1直接通过FOLDERID_Desktop
包装)和FOLDERID_PublicDesktop
用于特定于用户和共享的Desktop
文件夹。
答案 2 :(得分:-2)
编辑 - 试试这个
path = r"C:/Users/Sam/Desktop/big data/workspace/test.csv"
csvfile = open(path, 'rb')