我正在尝试编写一个Python脚本,该脚本读取CSV文件并根据其标题名称提取特定列。以下是我的代码:
import csv
def extract_columns(filename, cols):
with open(filename, 'r') as f:
reader = csv.DictReader(f)
headers = reader.fieldnames
indices = [headers.index(col) for col in cols]
data = []
for row in reader:
data.append([row[i] for i in indices])
return data
data = extract_columns('data.csv', ['Name', 'Age'])
print(data)
当我运行脚本时,我得到以下[红色]错误:
Traceback (most recent call last):
File "test.py", line 12, in <module>
data = extract_columns('data.csv', ['Name', 'Age'])
File "test.py", line 8, in extract_columns
data.append([row[i] for i in indices])
TypeError: 'NoneType' object is not subscriptable
我不知道为什么我会得到这个错误。有人能帮助我理解它的意思和如何修复它吗?
注意:CSV文件包含标题为“姓名”、“年龄”等的列。
1条答案
按热度按时间o2gm4chl1#
在上面的代码中,
替换
与