0

I have a small problem with reading in my file. My code:

import csv as csv
import numpy 

with open("train_data.csv","rb") as training:
    csv_file_object = csv.reader(training)
    header = csv_file_object.next()

    data = []
    for row in csv_file_object:
        data.append(row)
    data = numpy.array(data)

I get the error no such file "train_data.csv", so I know the problem lies with the location. But whenever I specify the pad like this: open("C:\Desktop...etc) it doesn't work either. What am I doing wrong?

4

2 回答 2

4

如果您提供完整的文件路径,您的脚本应该可以工作。既然不是,那一定是你的路径中有转义字符。要解决此问题,请使用原始字符串指定文件路径:

# Put an 'r' at the start of the string to make it a raw-string.
with open(r"C:\path\to\file\train_data.csv","rb") as training:

原始字符串不处理转义字符。

此外,只是一个技术事实,不提供完整的文件路径会导致 Python 在启动脚本的目录中查找文件。如果不存在,则会引发错误。

于 2013-10-01T16:28:23.107 回答
2

当您使用open()Windows 时,您需要正确处理反斜杠。

选项 1.) 使用原始字符串,这将是带有前缀的字符串r

open(r'C:\Users\Me\Desktop\train_data.csv')

选项 2.) 转义反斜杠

open('C:\\Users\\Me\\Desktop\\train_data.csv')

选项 3.) 使用正斜杠

open('C:/Users/Me/Desktop/train_data.csv')

至于查找您正在使用的文件,如果您只是这样做open('train_data.csv'),它就是在您运行 python 脚本的目录中查找。因此,如果您从 运行它C:\Users\Me\Desktop\,您train_data.csv也需要在桌面上。

于 2013-10-01T16:30:19.433 回答