尽管原始文本的路径正确,但找不到pandas.read_csv文件

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 是一个特殊的字符,意味着回车.所以将它作为字符串文字的前缀.

  • 这样做是为了解决这个问题?它确实为我修好了,但我不明白为什么. (3认同)
  • 修复了我也遇到的同样问题..仍然不知道是什么导致了错误以及如何修复它。非常感谢 (2认同)

her*_*erd 9

$ 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,它将起作用。

  • 太好了,我现在欠一个陌生人 10 美元。 (4认同)
  • 我使用的是完整文件路径,因此我的$ 10是安全的!我发现了导致此问题的问题!这是一个不可见的角色,已被复制。看起来对一个小问题感到非常恐慌! (3认同)

Imp*_*s3H 1

对于我的特定问题,无法正确加载文件是由于当我从 Windows 中文件属性的安全选项卡复制文件路径时引入了“不可见”字符。

该字符是e2 80 aa,U+202A 的 UTF-8 编码,即从左到右的嵌入符号。当您找到该字符(字符串中最左边的字符)时,可以通过擦除(按退格键或删除键)轻松删除它。

注意:我选择回答是因为这里的答案并不能回答我的问题,而且我相信有些人(如评论中所示)可能会遇到与我相同的情况。由于我没有将此问题标记为已解决,因此似乎时不时就会有新的答案。