我在读取文件时遇到了一个小问题。我的代码:
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...等等)它也不起作用。我做错了什么?
如果提供完整的文件路径,则脚本应该可以工作。 既然不是,那一定是你的路径中有转义字符。 若要解决此问题,请使用原始字符串指定文件路径:
# Put an 'r' at the start of the string to make it a raw-string.
with open(r"C:pathtofiletrain_data.csv","rb") as training:
原始字符串不处理转义字符。
此外,只是一个技术事实,不提供完整的文件路径会导致 Python 在启动脚本的目录中查找文件。 如果不存在,则会引发错误。
当你使用open()
和Windows时,你需要正确处理反斜杠。
选项 1.)使用原始字符串,这将是以 r
为前缀的字符串。
open(r'C:UsersMeDesktoptrain_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:UsersMeDesktop
运行它,您的train_data.csv
也需要在桌面上。