for row in csv_reader:
username = row ["Username"]
pwd = row ["Password"]
email = row["Username"]
grades = row["Grades"]
comments = row["Comments"]
**我的错误是:用户名=行[“用户名”]
KeyError: 'Username'**
答案 0 :(得分:0)
我认为,名为row的值可能不包含Username
键。
您可以通过print(row)
或print(csv_reader)
检查所有密钥。
确保csv_reader是一个包含字典和Username
键的列表。
看起来像这样:
csv_reader = [{"Username": "McCree", "Password": "Secret", "Grades": "100" ...}]
答案 1 :(得分:0)
假设我有一个csv文件,其中包含以下数据:
用户名,密码,电子邮件
John Smith,Pass!12,abc @ email.com
现在我可以通过以下方式读取此csv文件:第一个使用 csv.reader(),而另一个使用 csv.DictReader()
csv.reader():
import csv
with open('filename') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
#now we assign the username
#username = row['usename']---this will give an error here
username = row[0] #this will assign the value at index 0 of row to username
由于行是一个列表,我们必须通过那里的索引来访问值。
csv.DictReader()
import csv
with open('file_name', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
#now we assign the username
username = row.get('username')
作为 csv.DictReader()函数转换字典中的csv文件数据。因此,我们必须使用它的键来获取特定的值:-例如,我们使用 row.get('username')来实现。