0

所以我正在尝试从 API 下载一个 csv 格式的文件

我生成一个包含用户输入的链接并将其存储在变量 exportLink 中

import requests
#getProjectName
projectName = raw_input('ProjectName')
#getApiToken
apiToken = "mytokenishere"
#getStartDate
startDate = raw_input('Start Date')
#getStopDate
stopDate = raw_input('Stop Date')

url = "https://api.awrcloud.com/get.php?action=export_ranking&project=%s&token=%s&startDate=%s&stopDate=%s" % (projectName,apiToken,startDate,stopDate)
exportLink = requests.get(url).content
  • exportLink 将存储生成的链接

  • 然后我必须调用以使用 exportLink 上的另一个 requests.get() 命令下载 csv 文件

  • 当我单击链接时,它会在浏览器中打开下载,

  • 有什么方法可以自动执行此操作,以便它打开 zip,我可以开始使用 python 编辑 csv 即删除一些东西?

4

1 回答 1

0

如果你有zipdata你得到的字节对象requests.get(url).content,你可以逐个文件提取到另一个字节对象

import zipfile
import io
import csv

with zipfile.ZipFile(io.BytesIO(zipdata)) as z:
    for f in z.filelist:
        csvdata = z.read(f)

然后做一些事情csvdata

reader = csv.reader(io.StringIO(csvdata.decode()))
...
于 2017-10-05T15:36:48.877 回答