即使文件存在,Pandas.read_csv()FileNotFoundError

时间:2019-12-06 14:09:34

标签: python pandas

我尝试在Anaconda Jupyter Notebook(相同的单元格,没有其他内容)中运行这段Python 3代码:

train  = pd.read_csv('tutorial\labeledTrainData.tsv', header=0, delimiter="\t", quoting=3) #OK!
test   = pd.read_csv('tutorial\testData.tsv',         header=0, delimiter="\t", quoting=3) #FileNotFoundError!

第一行运行正常,但是第二行给出错误:

FileNotFoundError: [Errno 2] File b'tutorial\testData.tsv' does not exist: b'tutorial\testData.tsv'
相应 tutorial 文件夹中的

dir 命令提供:

06.12.2019  15:38    <DIR>          .
06.12.2019  15:38    <DIR>          ..
05.05.2018  20:07        33 556 378 labeledTrainData.tsv
05.05.2018  20:07           282 796 sampleSubmission.csv
05.05.2018  20:07        32 724 746 testData.tsv
05.05.2018  20:07        67 281 491 unlabeledTrainData.tsv

即“问题”文件 testData.tsv 位于“好” labeledTrainData.tsv 旁边。

如果我更改第二行的斜线方向并像这样运行它:

train  = pd.read_csv('tutorial\labeledTrainData.tsv', header=0, delimiter="\t", quoting=3) #OK!
test   = pd.read_csv('tutorial/testData.tsv',         header=0, delimiter="\t", quoting=3) #OK!

然后这两行都运行良好。一样,如果我在问题文件名前加上 r ,它们运行得很好:

test   = pd.read_csv(r'tutorial\testData.tsv',         header=0, delimiter="\t", quoting=3) #OK!

我检查了两个文件的属性-没有一个是隐藏的,也不是只读的,权限是否相等,等等。

更改单元格中的行顺序不会更改erorr-同一文件有问题...

我想知道 pandas (或 python ?)在第二行代码中看到了什么问题,我看不到?

3 个答案:

答案 0 :(得分:3)

Python会将\t解释为字符串'tutorial\testData.tsv'中的一个制表符。

您可以通过使用r"..."将其表示为raw-string来更改此设置,这意味着python会忽略反斜杠。

答案 1 :(得分:1)

尝试这种方式。 test = pd.read_csv('tutorial\testData.tsv', header=0, delimiter=r'\t',quoting=3)

答案 2 :(得分:0)

您是否尝试过使用完整路径? (从“ C:\”开始)