繁体   English   中英

excel 中的 python 实时数据

[英]python live data in excel

此代码打印实时数据,但我希望 excel 中的 output 只有这样的价格变化--->

象征 价格
DOGEUSDT 0.0633400
比特币USDT 21013.040
LTCUSDT 60.9000

代码---->>> `

import pandas as pd
import requests
import json

ltp_data= []

crypto = {"BTCUSDT",  "LTCUSDT", "DOGEUSDT"}
def live_ltp():
    responses = []
    for i in crypto:
        key = "https://api.binance.com/api/v3/ticker/price?symbol="
        url = key+i
        response = requests.get(url)
        Ltp = response.json()
        ltp_data.append(Ltp)
        responses.append(Ltp)
    return responses
while True:
    print(str(live_ltp()))

`

尝试:

while True:
    stats = pd.DataFrame(live_ltp())
    with pd.ExcelWriter('Output.xlsx') as excel_writer:
        stats.to_excel(excel_writer, sheet_name='live_ltp', index=False)

也许最后有一个 time.sleep,所以它也不会向 API 发送垃圾邮件。

如果我理解得很好,您想使用 while 循环更新 excel 文件。 如果您将请求放入 dataframe 中,则使用 openpyxl 很容易完成。 只要文件关闭,以下内容就可以很好地工作。

import openpyxl

try:
    with pd.ExcelWriter(path, engine = 'openpyxl', mode = 'a', if_sheet_exists = 'overlay') as writer:
        YourOutputDataFrame.to_excel(writer, sheet_name = sheet_name, index = False) #Write output in a specific sheet (by name or index)
        writer.book.close() #Close (and save) Excel file
except:
    pass

希望这可以帮助。 如果需要,请随时询问有关格式等的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM