Python循环通过列表遍历请求写入文件

时间:2019-04-06 10:56:05

标签: python python-3.x loops request

我正在尝试编写一个通过请求从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))

1 个答案:

答案 0 :(得分:1)

Python使用缩进(空格,制表符)标记代码块,您需要将循环逻辑放在循环块内

CondaHTTP