Imp*_*s3H 15 python csv file-not-found dataframe pandas
尽管文件路径正确并且使用原始字符串,但是当我收到错误时,我正在尝试.csv使用该pd.read_csv()函数加载文件.
import pandas as pd
df = pd.read_csv('?C:\\Users\\user\\Desktop\\datafile.csv')
df = pd.read_csv(r'?C:\Users\user\Desktop\datafile.csv')
df = pd.read_csv('C:/Users/user/Desktop/datafile.csv')
Run Code Online (Sandbox Code Playgroud)
all给出了以下错误:
FileNotFoundError:文件b'\ xe2\x80\xaaC:/Users/user/Desktop/tutorial.csv'(或相关路径)不存在.
只有当我将文件复制到工作目录时,它才会加载正确.
有人知道可能导致错误的原因吗?
我以前加载了其他数据集的完整文件路径没有任何问题,我目前只遇到问题,因为我重新安装了我的python(通过Anaconda包安装程序).
编辑:
我发现导致问题的问题.
当我从文件属性窗口复制文件路径时,我无意中复制了另一个看似不可见的字符.
分配复制string也会产生unicode错误.
删除该隐形字符使上述任何代码都有效.
Wat*_*236 20
试试这个,看它是否有效.这与您提供的路径无关.
pd.read_csv(r'C:\Users\aiLab\Desktop\example.csv')
Run Code Online (Sandbox Code Playgroud)
这r 是一个特殊的字符,意味着回车.所以将它作为字符串文字的前缀.
$ 10表示您的文件路径相对于.py文件的位置是正确的,但对于您调用python的位置而言是错误的
例如,假设script.py位于〜/ script /中,而file.csv位于〜/中。假设script.py包含
import pandas
df = pandas.read_csv('../file.csv') # correct path from ~/script/ where script.py resides
Run Code Online (Sandbox Code Playgroud)
如果从〜/运行python script/script.py,您将收到FileNotFound错误。但是,如果从〜/ script /运行python script.py,它将起作用。
对于我的特定问题,无法正确加载文件是由于当我从 Windows 中文件属性的安全选项卡复制文件路径时引入了“不可见”字符。
该字符是e2 80 aa,U+202A 的 UTF-8 编码,即从左到右的嵌入符号。当您找到该字符(字符串中最左边的字符)时,可以通过擦除(按退格键或删除键)轻松删除它。
注意:我选择回答是因为这里的答案并不能回答我的问题,而且我相信有些人(如评论中所示)可能会遇到与我相同的情况。由于我没有将此问题标记为已解决,因此似乎时不时就会有新的答案。
| 归档时间: |
|
| 查看次数: |
51002 次 |
| 最近记录: |