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

问题描述 投票:9回答:10

我正在尝试使用.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')

all给出了以下错误:

FileNotFoundError:文件b'\ xe2 \ x80 \ xaaC:/Users/user/Desktop/tutorial.csv'(或相关路径)不存在。

只有当我将文件复制到工作目录时,它才会加载正确。

有人知道可能导致错误的原因吗?

我以前加载了其他数据集的完整文件路径没有任何问题,我目前只遇到问题,因为我重新安装了我的python(通过Anaconda包安装程序)。


编辑: 我发现导致问题的问题。 当我从文件属性窗口复制文件路径时,我无意中复制了另一个看似不可见的字符。 分配复制的string也会出现unicode错误。

删除该隐形字符使上述任何代码都有效。

python csv pandas dataframe file-not-found
10个回答
16
投票

试试这个,看它是否有效。这与您提供的路径无关。

pd.read_csv(r'C:\Users\aiLab\Desktop\example.csv')

在这里r是一个特殊的角色,意味着回车。所以将它作为字符串文字的前缀。


0
投票

经历过同样的问题。路径是正确的。更改文件名似乎可以解决问题。

旧文件名:Season 2017/2018 Premier League.csv新文件名:test.csv

可能是空格或“/”


4
投票

$ 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

如果来自〜/你运行python script/script.py,你将得到FileNotFound错误。但是,如果从〜/ script /你运行python script.py,它将工作。


2
投票

我知道以下是一个愚蠢的错误,但它可能是你的文件的问题。

我已经将文件从adfa123手动重命名为abc.csv。文件的扩展名被隐藏,重命名后,实际文件名称变为abc.csv.csv。然后我从名字中删除了额外的.csv,一切都很好。

希望它可以帮助其他任何人。


2
投票
import pandas as pd

path1 = 'C:\\Users\\Dell\\Desktop\\Data\\Train_SU63ISt.csv'
path2 = 'C:\\Users\\Dell\\Desktop\\Data\\Test_0qrQsBZ.csv'

df1 = pd.read_csv(path1)
df2 = pd.read_csv(path2)

print(df1)
print(df2)

1
投票

在Windows系统上,您应该尝试使用os.path.normcase

它规范化路径名的大小写。在Unix和Mac OS X上,这将返回路径不变;在不区分大小写的文件系统上,它将路径转换为小写。在Windows上,它还将正斜杠转换为反斜杠。如果路径类型不是str或字节(直接或间接通过os.PathLike接口),则引发TypeError。

import os
import pandas as pd

script_dir = os.getcwd()
file = 'example_file.csv'
data = pd.read_csv(os.path.normcase(os.path.join(script_dir, file)))

1
投票

如果您使用的是Windows机器。尝试检查文件扩展名。将文件保存为fileName.csv.txt而不是fileName.csv的可能性很高您可以通过选择文件夹选项下的文件扩展名复选框来检查这一点(请查看截图)

下面的代码对我有用:

import pandas as pd
df = pd.read_csv(r"C:\Users\vj_sr\Desktop\VJS\PyLearn\DataFiles\weather_data.csv");

如果是fileName.csv.txt,请将其重命名/更正为fileName.csv

windows 10 screen shot

希望它有效,祝你好运


0
投票

尝试使用os.path.join创建文件路径:

import os
f_path = os.path.join(*['C:', 'Users', 'user', 'Desktop', 'datafile.csv'])
df = pd.read_csv(f_path)

0
投票

我试图从我的'c:\'驱动器中的文件夹中读取csv文件但是,它引发了escape,type error, unicode的错误......因为这样的代码工作只需要一个变量然后添加r来读取它。

rank = pd.read_csv (r'C:\Users\DELL\Desktop\datasets\iris.csv') 
df=pd.DataFrame(rank)

0
投票

关于如何删除看似不可见的字符还有另一个问题。

我的解决方案是从文件窗口而不是属性窗口复制文件路径。

除了您应该完成文件路径之外,这没有问题。

© www.soinside.com 2019 - 2024. All rights reserved.