Python 的 csv.reader(filename) 真的返回列表吗?看来并非如此

2024-03-16

所以我仍在学习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]

你得到的是一个iterable https://wiki.python.org/moin/Iterator,即一个将为您提供一系列其他对象(在本例中为字符串)的对象。您可以将其传递给for循环,或使用list()获取实际列表:

parsed_data = list(csv.reader(my_file))

它以这种方式设计的原因是,它允许您处理大于计算机内存量的文件(或者如果您要加载所有文件,则文件大到足以消耗不方便的内存量)将其内容放入列表中)。对于可迭代对象,您可以选择一次查看一个元素,例如在阅读下一个之前,请再次将其从内存中删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 的 csv.reader(filename) 真的返回列表吗?看来并非如此 的相关文章

随机推荐