我已经阅读了许多文章和帖子,连接到一个api,然后将其格式化为int/str,但我确实设法使可能是最长的迂回的方式有史以来它真正丑陋请有人告诉我最短最有效的方式来完成下面的代码任何建议将不胜感激,期待着打印出“eos”的基本在str格式和“价格”为int谢谢!你知道吗
import urllib
import json
import pandas as pd
import numpy as np
import requests
r = requests.get('https://api.coinmarketcap.com/v1/ticker/eos/')
with open('events.csv','w') as fd:
fd.write(r.text)
data = pd.read_csv('events.csv', names=['Choose One'])
i = data.iloc[[6], [0]]
a = str(i)
name,price = a.split(":")
string = price[2:-1]
print(string)
使用pandas
read_json
将文件读入数据帧更简单,read\u json会自动将apt数据类型分配给每一列,然后使用列选择来选择'name'、'price\u usd'列(当然在本例中只有一行,但相同的代码可以用于多行)即
在format语句中使用.0f将显示price\U usd值的整数部分(四舍五入),因此输出将是。你知道吗
或者,使用round函数将对浮点值进行舍入 i、 e
数据类型:对象
只需使用
json.loads(r.text)
或更简单的直接r.json()
。你知道吗比方说,现在api返回以下数据:
如果使用
r.json()
,则将其作为一个json,否则用data = json.loads(r.text)
加载它并用df = pd.DataFrame(data)
将其保存到一个pandas数据帧中,该数据帧如下所示:使用索引访问数据:
或用于打印:
相关问题 更多 >
编程相关推荐