我正在尝试编写一个通过请求从URL获取.json的循环,然后将.json写入.csv文件。然后我需要一遍又一遍,直到我的名字列表(.txt文件)完成(89行)。我不能让它遍历列表,它只是选择列表的底名然后退出。我需要它来完成并使用正确的URL基本上创建89个文件。其他功能正常运行,但只执行一次。
我似乎找不到适合自己目的的循环。由于我是python的初学者,我希望我可以在这里获得一些帮助并了解更多信息
我的代码
#Opens the file with pricelists
with open('prislistor.txt', 'r') as f:
for i, line in enumerate(f):
pricelists = (line.strip())
response = requests.get('https://api.example.com/3/prices/sublist/{}/'.format(pricelists), headers=headers)
#Formats it
parsed = json.loads(response.text)
listan=(json.dumps(parsed, indent=4, sort_keys=True))
#Converts and creates a .csv file.
data = parsed['Prices']
with open('listan-{}.csv'.format(pricelists), 'w') as outf:
dw = csv.DictWriter(outf, data[0].keys())
dw.writeheader()
for row in data:
dw.writerow(row)
print ("The file list-{}.csv is created!".format(pricelists))
答案 0 :(得分:1)
Python使用缩进(空格,制表符)标记代码块,您需要将循环逻辑放在循环块内
CondaHTTP