使用http get请求下载csv?

2024-06-10 22:17:31 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在浏览器中打开此urlhttps://eodhistoricaldata.com/api/eod/AAPL.US?from=2020-01-05&to=2020-02-10&period=d&fmt=csv&api_token=OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX时,浏览器会自动下载包含数据的csv文件

有没有办法使用python请求模块下载该文件?还是其他模块


Tags: 模块文件csvtofromcomapi浏览器
3条回答

通过使用请求模块对特定链接进行get调用,您可以简单地获取原始csv文件

获得原始文件后,只需将内容放入新的csv文件。具体来说,您可以这样做。 这将导致生成一个名为“test.csv”的文件,该文件的所有内容都位于URL中

import requests
import csv
link = "https://eodhistoricaldata.com/api/eod/AAPL.US?from=2020-01-05&to=2020-02-10&period=d&fmt=csv&api_token=OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX"
csv = requests.get(link)
open("test.csv", "wb").write(csv.content)

您可以通过.text获取文本内容,然后将该值存储在本地csv文件中

import requests

data = requests.get('https://eodhistoricaldata.com/api/eod/AAPL.US?from=2020-01-05&to=2020-02-10&period=d&fmt=csv&api_token=OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX').text

with open('file.csv', 'w') as f:
    f.write(data)

我不太清楚“下载”是什么意思,您是想在python脚本中获取数据,还是想将下载的csv存储在存储器中

一个简单的GET请求就足以获取csv的数据,您可以使用POSTMAN进行尝试,或者仅使用python中的以下代码进行尝试

import requests
response = requests.get("https://eodhistoricaldata.com/api/eod/AAPL.US?from=2020-01-05&to=2020-02-10&period=d&fmt=csv&api_token=OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX")
print(response.text)

如果您确实想要下载和存储,一个简单的解决方案是使用get请求获取数据,然后写入文件,或者将数据格式化为必要的格式,然后存储

相关问题 更多 >