Py学习  »  Python

从csv列表加速Python请求

Dave_p • 4 年前 • 583 次点击  

以下是我第一次尝试使用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
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50694
 
583 次点击  
文章 [ 2 ]  |  最新文章 4 年前