当前位置:  开发笔记 > 编程语言 > 正文

Python的csv.reader(filename)真的会返回一个列表吗?似乎不是这样

如何解决《Python的csv.reader(filename)真的会返回一个列表吗?似乎不是这样》经验,为你挑选了1个好方法。

所以我还在学习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))

它以这种方式设计的原因是,它允许您处理大于计算机上的内存量的文件(或者只是大到足以在您加载所有内存时消耗不便的内存量的文件将其内容列入清单).使用可迭代,您可以选择一次查看一个元素,例如在读取下一个元素之前再次将其丢弃.



1> Aasmund Eldh..:

你得到的是一个可迭代的,即一个会给你一系列其他对象的对象(在本例中是字符串).您可以将其传递给for循环,或用于list()获取实际列表:

parsed_data = list(csv.reader(my_file))

它以这种方式设计的原因是,它允许您处理大于计算机上的内存量的文件(或者只是大到足以在您加载所有内存时消耗不便的内存量的文件将其内容列入清单).使用可迭代,您可以选择一次查看一个元素,例如在读取下一个元素之前再次将其丢弃.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有