使用 python 从 API 打开 csv 文件
Posted
技术标签:
【中文标题】使用 python 从 API 打开 csv 文件【英文标题】:Opening a csv file from an API with python 【发布时间】:2017-10-05 14:04:28 【问题描述】:所以我正在尝试从 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 将存储生成的链接
然后我必须调用它来使用另一个下载 csv 文件 exportLink 上的 requests.get() 命令
当我点击链接时,它会在浏览器中打开下载,
有没有什么办法可以自动完成,所以它会打开 zip,我可以开始 使用python编辑csv,即删除一些东西?
【问题讨论】:
您能否提供此类链接的示例? 示例响应:ok api.awrcloud.com/… 【参考方案1】:如果您有 requests.get(url).content
所获得的字节对象 zipdata
,您可以逐个文件提取到另一个字节对象
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()))
...
【讨论】:
以上是关于使用 python 从 API 打开 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章
python3 简单实现从csv文件中读取内容,并对内容进行分类统计
将 .csv 文件从 URL 读取到 Python 3.x - _csv.Error:迭代器应返回字符串,而不是字节(您是不是以文本模式打开文件?)