无法读入文件

时间:2013-10-01 16:21:55

标签: python python-2.7

我在阅读文件时遇到一个小问题。我的代码:

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)

我得到错误没有这样的文件“train_data.csv”,所以我知道问题在于位置。但每当我指定这样的打击垫:打开(“C:\ Desktop ...等)它也不起作用。我做错了什么?

2 个答案:

答案 0 :(得分: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在启动脚本的目录中查找该文件。如果不存在,则抛出错误。

答案 1 :(得分:2)

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

选项1.)使用raw string,这将是前缀为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也需要在桌面上。