我想将CODEFORCERS用于某些Analytics (在Python / SQL /甚至XLS.中)。我试图获得一个足够的Pandas,但是我得到了一个0行13644列的Dataframe。我不知道如何从API中获取可用的Dataframe。
我想对数据做些什么:分析不同的方面,如分数/参与者/分数变化/回合.
只需将数据拖到XLS工作表/ SQL中就可以了。
最好的,Kiki
我试过了
从sklearn导入数据集作为pd导入熊猫
contest_list = pd.read_csv("https://codeforces.com/api/contest.list?gym=false") pd.DataFrame(contest_list)
但得到了0行×13644列的Dataframe。
发布于 2022-11-07 10:26:55
我先前的回答是错误的。我假设您的URL上的数据是CSV格式的(而且Pandas不支持从read_csv上的HTTP端点读取.的确如此!)。
该网址上的数据是,而不是CSV格式的。
它是JSON格式的。
因此:
contest_list = pd.read_json("https://codeforces.com/api/contest.list?gym=false")
pd.DataFrame(contest_list)但是,这会导致:[0 rows x 13652 columns]
这是因为JSON是一个复杂的对象,需要一些预解析才能生成一个很好的数据。
import requests
url = "https://codeforces.com/api/contest.list?gym=false"
response = requests.get(url)
contents = response.json()
results = contents.get("result")
df = pd.DataFrame(results)
print(df)这导致:[1667 rows x 8 columns]
https://stackoverflow.com/questions/74345079
复制相似问题