我在阅读文件时遇到一个小问题。我的代码:
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 ...等)它也不起作用。我做错了什么?
答案 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
也需要在桌面上。