2017-10-05 55 views
0

所以我想从下载文件和API,这将是CSV格式从API打开CSV文件与Python

我生成与用户输入的链接,并将其存储在一个变量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将存储生成的链接

  • 我必须再调用使用另一个 requests.get(下载CSV文件)命令exportLink

  • 当我点击它打开下载在浏览器中的链接,

  • 有没有什么办法来自动执行此所以它打开拉链,我就可以开始 使用python即除去一些编辑的CSV东东?

+0

莫非你提供这样的链接的例子? – pacholik

+0

响应示例: ok https://api.awrcloud.com/get.php?action=get_export&token=myAPItoken&project=project+name&fileName=2013-07-23-2013-12-27 – HarAdams

回答

0

如果您bytes对象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())) 
...