所以我还在学习Python,我正在学习如何阅读文件,csv文件.我刚看过的课程告诉我使用
csv.reader(filename)
返回一个列表.
所以我写了下面的代码:
import csv my_file = open(file_name.csv, mode='r') parsed_data = csv.reader(my_file) print(parsed_data)
它打印的是什么
<_csv.reader object at 0x0000000002838118>
如果它输出的是一个列表,我不应该得到一个列表,即这样的东西?
[value1, value2, value3]
Aasmund Eldh.. 11
你得到的是一个可迭代的,即一个会给你一系列其他对象的对象(在本例中是字符串).您可以将其传递给for
循环,或用于list()
获取实际列表:
parsed_data = list(csv.reader(my_file))
它以这种方式设计的原因是,它允许您处理大于计算机上的内存量的文件(或者只是大到足以在您加载所有内存时消耗不便的内存量的文件将其内容列入清单).使用可迭代,您可以选择一次查看一个元素,例如在读取下一个元素之前再次将其丢弃.
你得到的是一个可迭代的,即一个会给你一系列其他对象的对象(在本例中是字符串).您可以将其传递给for
循环,或用于list()
获取实际列表:
parsed_data = list(csv.reader(my_file))
它以这种方式设计的原因是,它允许您处理大于计算机上的内存量的文件(或者只是大到足以在您加载所有内存时消耗不便的内存量的文件将其内容列入清单).使用可迭代,您可以选择一次查看一个元素,例如在读取下一个元素之前再次将其丢弃.