python - 将代码输出格式化为表格格式
问题描述
我在这里有以下代码可以管理网站的网络抓取信息,但我希望每 10 秒运行一次此代码以刷新运行此代码,并将此代码的输出格式化为一个漂亮的表格,其中包含顶部的平均值5 个值。我应该怎么做呢?
import json
import requests
url = 'https://otc-api-hk.eiijo.cn/v1/data/trade-market?coinId=2¤cy=3&tradeType=sell&blockType=general'
data = requests.get(url).json()
# uncomment this to print all data:
# print(json.dumps(data, indent=4))
print('USDT SGD')
print('----')
for d in data['data']:
print('{:<30}{}'.format(d['userName'], d['price']))
url = 'https://otc-api.hbg.com/v1/data/trade-market?coinId=1¤cy=3&tradeType=sell&blockType=general'
data = requests.get(url).json()
print('BTC SGD')
print('----')
for d in data['data']:
print('{:<30}{}'.format(d['userName'], d['price']))
解决方案
将其转换为 pandas 数据框,使用 nlargest 计算平均值,打印数据和平均值
df = pd.Dataframe(data['data'])
df = df[['userName','price']]
top_5_avg = df.nlargest(5, "price")['price].mean()
print(df)
print(f'The average of top 5 is {top_5_avg}')
推荐阅读
- awk - 使用 awk 进行 vlookup:如何将组/模式与 id 匹配
- sql - Oracle 中的 GROUP BY 失败
- c# - 在 SSIS 中合并 .dtsx 文件
- arrays - 如何获取这些数组并使用它们来填充结构的字段?
- racket - 尝试在具有两个“相互递归”方法的特征的覆盖方法之外调用“super”,但失败了
- sql - 具有硬编码值的子查询的 LEFT OUTER JOIN 错误
- python - 没有正确输入数字 python selenium
- java - CollapsingToolbarLayout 的子级具有不同的折叠模式
- css - 具有已翻译项目的 Flexbox 列
- youtube - 让 youtube-dl 等到直播开始