【发布时间】:2019-07-23 16:40:49
【问题描述】:
对于我的项目,我有一个学生 ID 文件,我必须与其余 API 中学生的姓名、地址和电话号码相匹配。我写了这段代码,但我不断收到 TypeError: list indices must be integers or slices, not str
import requests
import csv
import re
outputfile = 'file.csv'
outfile = open(outputfile, mode='w', newline='')
master_key = ['name', 'address', 'phoneNumber']
writer = csv.DictWriter(outfile, master_key, delimiter=",")
writer.writeheader()
with open('idfile.csv') as csv_file:
open_file = csv.reader(csv_file, delimiter=',')
for row in open_file:
for id in row:
url = "https://schoolsite/studentIds/"
response = requests.get(url)
data = response.json()
print(data)
dict = {'name': data['input']['name'], 'address' : data['input']['address'], 'phoneNumber' : data['input']['phoneNumber']}
writer.writerow(dict)
来自 API 的数据如下所示:
[{"input"{"name":"George Martin","address":"3452 Powelton Ave","phoneNumber":"4563457368"}}]
我正在尝试使用由标题组织的学生数据创建一个 csv。
【问题讨论】:
标签: python json python-3.x api dictionary