繁体   English   中英

来自 csv dictreader 的多个列表

[英]multiple lists from csv dictreader

我有一个简单的 CSV 文件,其中包含两个键“标题”和“作者”以及一堆数据。

我想列出标题,然后列出作者。 我的代码如下。 它打印 title_list 但没有 author_list,为什么?

import csv

with open("books.csv", encoding="utf-8-sig") as books_csv:
    books_reader = csv.DictReader(books_csv)
    title_list = [book["Title"] for book in books_reader]
    author_list = [book["Author"] for book in books_reader]

    print(title_list)
    print(author_list)```

books_reader是一个迭代器 当您使用 list-comprehension 来定义title_list时,您会耗尽迭代器,而使books_reader空。 这就是为什么当你 go 定义author_list时它什么都不返回。 对这个问题使用列表理解不是正确的解决方案。 您可能正在寻找以下内容:

import csv

title_list = []
author_list = []
with open("books.csv", encoding="utf-8-sig") as books_csv:
    books_reader = csv.DictReader(books_csv)
    for book in books_reader:
        title_list.append(book["Title"])
        author_list.append(book["Author"])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM