python读取Json文件保存为csv格式

本文介绍了两种将JSON数据读取并转换为Pandas DataFrame的方法:使用load与loads函数的区别及适用场景。针对不同格式的JSON文件,提供了具体的Python代码示例,并解决了在转换过程中可能遇到的错误。

两种方法

  • load,读取的是整个文件,每个json之间用”,”分割开。此时文件开头”[” ,末尾加”]”
  • loads,写在for循环里面一行一行的读取。每个json之间没有”,”的时候使用

    可以使用json在线解析,检验下文件是否合格
    json在线解析
    json在线解析2

下面开始写代码读取

import json
import pandas as pd

loads

df = pd.DataFrame()
with open(r'../weibo/weibo-users.json','r',encoding='utf-8')as f:
    for ff in f:
        data = json.loads(ff) 
        row = pd.DataFrame(data)
        df = df.append(row,ignore_index=True)
print(df.head())

load

df = pd.DataFrame()
with open(r'../data/Tweets.json','r',encoding = 'utf-8')as f:
     data = json.load(f)
df = pd.DataFrame(data)

json格式是下面这种,转DataFrame时候会报错

{
    "status": {
        "statuscode": 200,
        "statusmessage": "Everything OK"
    },

    "result": [{
        "id": 22,
        "club_id": 16182
    }, {
        "id": 23,
        "club_id": 16182
    }, {
        "id": 24,
        "club_id": 16182
    }, {
        "id": 25,
        "club_id": 16182
    }, {
        "id": 26,
        "club_id": 16182
    }, {
        "id": 27,
        "club_id": 16182
    }]
}

解决:

import json
import pandas as pd
data = json.load(open('json_file.json'))

df = pd.DataFrame(data["result"])

参考:ValueError

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值