问题:此文件的第10列是“DeathCity”。对于此CSV文件中的每条记录,如果DeathCity列中的城市与用户输入匹配,则输出该记录。使用upper()查找匹配项,而不会出现大小写不同的问题。
city = input("Enter a city name:")
import csv
f = open("/file.txt")
spamreader=csv.reader(f)
for DeathCity in spamreader:
print("\t".split(DeathCity))
当我试图根据我的输入过滤数据时,我总是得到一个错误。
Traceback (most recent call last):
File "hmwk3_1", line 7, in <module>
print("\t".split(DeathCity))
TypeError: must be str or None, not list
2条答案
按热度按时间gfttwv5a1#
如果你看一下
csv.reader
的文档,你会发现你正在迭代字符串列表的行,列表中的每个元素都是一列,所以使用下标来访问特定的列,这就是你应该与用户输入进行比较的字符串。kognpnkq2#
如果在print语句中混合使用字符串和变量,则必须使用f-string或等效的。例如)
print(f"My name is {variableToPrint}")
另外,“split()“函数不带参数,但对要拆分的项进行点操作。
因此,要修复这两个错误,请尝试以下代码行,看看它是否有所改进。