簡體   English   中英

將響應從 API 保存到 csv 文件

[英]save response from API to csv file

我是python的新學習者。 我正在使用一些調用 api 並以 csv 格式獲取響應的 python 代碼。 我想知道如何將 csv 響應保存到 csv fie。

#! /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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM