将响应从API保存到csv文件



我是python的新手。我正在使用一些python代码,这些代码调用api并获得csv格式的响应。我想知道如何将csv响应保存到csv字段中。

#! /usr/bin/env python
import httplib2
# These aren't needed, just for this example
from pprint import pformat
from datetime import datetime
import pytz
from pvlive_api import PVLive
import pandas as pd
import json

def post_elexon(url):
http_obj = httplib2.Http()
resp, content = http_obj.request(
uri=url,
method='GET',
headers={'Content-Type': 'application/xml; charset=UTF-8'},)
return resp, content
def main():
resp, content = post_elexon(url='https://api.bmreports.com/BMRS/B1770/v1?APIKey=MY_API_KEY&SettlementDate=2015-03-01&Period=1&ServiceType=csv',)
print ("===Response===")
print (resp)

print ("===Content===")
print (pformat(content))
print ("===Finished===")

if __name__ == "__main__":
main()

如有任何帮助和建议,我们将不胜感激。

谢谢

试试这个:

import csv

with open('out.csv', 'w') as f:
writer = csv.writer(resp)
for line in resp.iter_lines():
writer.writerow(line.decode('utf-8').split(','))

编辑:

我测试了你的请求,它返回了一个json。

因此您可以将其保存为json:

with open('response.json', 'w') as f:
json.dump(resp, f)

相关内容

  • 没有找到相关文章

最新更新