以下是我第一次尝试使用Python。我有一个csv文件,上面列出了客户的工作编号。我正在对我们的(第三方)工作管理系统进行3次api调用。1获取实际作业编号,2获取作业阶段,3获取作业状态(如下)。我有一个vb.net应用程序,可以将这些结果分离开来,将它们与其他数据混合,并将它们添加到MYSQL数据中,以便在Ruby仪表板上进行报告等。API调用的繁琐工作是在excel vb a中完成的,因为我可以在一个地方完成所有工作。API调用很慢,非常慢,所以想办法加快速度,Python就出现了。排序如下,并从.net调用它,但仍然很慢。这三个电话总共需要5分钟。我们只看到大约60到70个工作岗位。对作业号的第一次调用确实带来了一个大的json文件,但不幸的是,第二次和第三次调用中没有我需要的数据,因此我无法通过消除2和3来加快它的速度。
由于我刚跳入Python head,我无法轻松找到解决方案。我一直在看多线程,多处理的帖子,但都是问谁有半个线索,我只是还没有到那里。
非常感谢您的帮助。
import requests
import csv
with open("C:\\******.csv") as csvfile:
readCSV = csv.reader(csvfile, delimiter=",")
jobs = []
Stages = []
outfile = open("C:\\*********another****.csv", "w")
for row in readCSV:
job = row[0]
url = (
"https:/********.com/api/v1.0/companies/**/jobs/"
+ job
+ "?columns=Status"
)
auth_token = "*******"
payload = ""
headers = {
"Content-Type": "application/json x-www-form-urlencoded",
"Authorization": "Bearer *********",
"Accept": "*/*",
"Cache-Control": "no-cache",
"Host": "*****",
"Accept-Encoding": "gzip, deflate",
"Connection": "keep-alive",
"cache-control": "no-cache",
}
response = requests.request(
"GET", url, data=payload, headers=headers
)
Stage = response.text
print((job, Stage), file=outfile)
outfile.close