【发布时间】:2020-01-29 15:46:52
【问题描述】:
我正在从事 Code Academy 课程的衍生项目,并在尝试将特定列从 CSV 的每一行附加到列表时遇到错误。
课程代码:
import csv
with open('cool_csv.csv') as cool_csv_file:
cool_csv_dict = csv.DictReader(cool_csv_file)
for row in cool_csv_dict:
print(row['Cool Fact'])
我需要从我的 CSV 中读取每一行,并将“主题”列的值附加到条目列表中。
import csv
entries = []
with open("list.csv") as list_csv:
list_reader = csv.DictReader(list_csv)
for row in list_csv:
entries.append(row["subject"])
但我收到以下错误:
entries.append(row[“subject”]) TypeError: 字符串索引必须是整数
我得到错误是说按行传递的值是一个字符串,所以我不能用标题名称访问它,但我不明白为什么。据我所知,我的文件是一个有效的 CSV,我的代码与课程中的代码没有什么不同,除了追加而不是打印(我测试了打印,同样的错误。)
我的 CSV:
subject,subject_type
first,test
second,test
我做错了什么让我的代码以字符串而不是 csv 行读取?
【问题讨论】:
-
尝试
list_reader,而不是list_csv -
我投票关闭这个,因为题外话/错字/无法复制。这本质上是一个错字,一个微不足道的混淆。
标签: python python-3.x list csv