在python中,很容易读取和解析csv文件并逐行处理:
reader = csv.reader(open("my_csv_file.csv"))
for row in reader:
# row is an array or dict
parsed_data = my_data_parser(row)
其中,my_data\u parser是我自己的一段逻辑,它接受输入数据,解析并执行逻辑
如果我的解析器失败,我想记录csv文件的整个原始行,但似乎从csv读取器中我再也无法访问它了
是否可以检索原始生产线数据
Tags:
您可以使用访问行行号
但是似乎没有直接的方法来访问实际的线路(如doc)。以下是一种迭代方法,可避免在任何步骤将整个文件读入内存:
(已编辑:删除了其他解决方案,因为它们在其他ppl帖子上也可见)
作为reader.line_num的替代方案
看起来^{} 并没有公开它正在迭代的文件对象,但是,您可以使用reader's ^{} 属性来实现您想要的
例如:
另类
如果希望避免总是将文件加载到内存中,则可以保留最初读取文件的方式,并且仅在发生错误时将整个文件读取到内存中:
相关问题 更多 >
编程相关推荐