首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >刮掉的json数据要输出CSV文件。

刮掉的json数据要输出CSV文件。
EN

Stack Overflow用户
提问于 2020-10-23 16:22:45
回答 1查看 51关注 0票数 0

所以我收集了这些数据

代码语言:javascript
复制
[
    {
        "id": 4321069,
        "points": 52535,
        "name": "Dennis",
        "avatar": "",
        "leaderboardPosition": 1,
        "rank": ""
    },
    {
        "id": 9281450,
        "points": 40930,
        "name": "Dinh",
        "avatar": "https://uploads-us-west-2.insided.com/koodo-en/icon/90x90/aeaf8cc1-65b2-4d07-a838-1f078bbd2b60.png",
        "leaderboardPosition": 2,
        "rank": ""
    },
    {
        "id": 1087209,
        "points": 26053,
        "name": "Sophia",
        "avatar": "https://uploads-us-west-2.insided.com/koodo-en/icon/90x90/c3e9ffb1-df72-46e8-9cd5-c66a000e98fa.png",
        "leaderboardPosition": 3,
        "rank": ""

And so on... Big leaderboard of 20 ppl

用这段代码刮擦

代码语言:javascript
复制
import json
import requests
import pandas as pd

url_all_time = 'https://community.koodomobile.com/widget/pointsLeaderboard?period=allTime&maxResults=20&excludeRoles='

# print for all time:

data = requests.get(url_all_time).json()
# for item in data:

# uncomment this to print all data:
# print(json.dumps(data, indent=4))

for item in data:
    print(item['name'], item['points'])

我希望能够创建一个表格来重新包装这个

每次我刮数据时,我都希望它用一个新的数据标记作为标题来更新表中的点数。基本上,我想的是我的索引=用户名和标头=日期。问题是,我甚至不能用这个名称/点列创建一个csv文件。

到目前为止,我唯一成功的做法是将所有数据写入csv文件。我还无法在print命令中找到我想要的数据。

编辑:在阅读了@Shijith发布的内容后,我成功地将数据传输到.csv,但考虑到我的想法(随着时间的推移添加更多的数据),我在问自己应该使用索引还是不带的代码。

使用

代码语言:javascript
复制
import pandas as pd

url_all_time = 'https://community.koodomobile.com/widget/pointsLeaderboard?period=allTime&maxResults=20&excludeRoles='
data = pd.read_json(url_all_time)
table = pd.DataFrame.from_records(data, index=['name'], columns=['points','name'])

table.to_csv('products.csv', index=True, encoding='utf-8')

代码语言:javascript
复制
import pandas as pd

url_all_time = 'https://community.koodomobile.com/widget/pointsLeaderboard?period=allTime&maxResults=20&excludeRoles='
data = pd.read_json(url_all_time)
table = pd.DataFrame.from_records(data, columns=['points','name'])

table.to_csv('products.csv', index=False, encoding='utf-8')
EN

回答 1

Stack Overflow用户

发布于 2020-10-23 16:25:08

你试过直接把json读入熊猫的资料里吗?从这里开始,你可以很容易地按照你的意愿来转换它。您可以为今天的日期添加一列,并将其枢轴化。

代码语言:javascript
复制
import pandas as pd
url_all_time = 'https://community.koodomobile.com/widget/pointsLeaderboard?period=allTime&maxResults=20&excludeRoles='
df = pd.read_json(url_all_time)

data['date'] = pd.Timestamp.today().strftime('%m-%d-%Y')
data.pivot(index='name',columns='date',values='points')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64503803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档