Python提取json文件内容,json转SCV最简单方法,地主家的乖宝宝都会用~

一、json转csv :将json中的数据转换成csv文件

import json
import csv

"""
需求:将json中的数据转换成csv文件
"""
def json_to_csv():
    # 1.分别 读,创建文件
    json_fp = open("word.json", "r",encoding='utf-8')
    csv_fp = open("word.csv", "w",encoding='utf-8',newline='')

    # 2.提出表头和表的内容
    data_list = json.load(json_fp)
    sheet_title = data_list[0].keys()
    # sheet_title = {"姓名","年龄"}  # 将表头改为中文
    sheet_data = []
    for data in data_list:
        sheet_data.append(data.values())

    # 3.csv 写入器
    writer = csv.writer(csv_fp)
    # 4.写入表头
    writer.writerow(sheet_title)
    # 5.写入内容
    writer.writerows(sheet_data)
    # 6.关闭两个文件
    json_fp.close()
    csv_fp.close()

注意:只适用于下面这重类型的json文件:

[
{ "name":"菜鸟教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]

运行后得到的结果:
在这里插入图片描述

而这种类型不适用(需要改成上面这种格式):

{
    "sites": [
    { "name":"菜鸟教程" , "url":"www.runoob.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"微博" , "url":"www.weibo.com" }
    ]
}

二、提取json数据:

import json

jsonstring = '{"user_man":[{"name":"Peter"},{"name":"xiaoming"}],"user_woman":[{"name":"Anni"},{"name":"zhangsan"}]}'

print(json_data)
print(json_data['user_man'])
print(json_data['user_woman'])
print(json_data['user_man'][0])
print(json_data['user_man'][1])
print(json_data['user_man'][0]['name'])
print(json_data['user_man'][1]['name'])

输出:

{'user_man': [{'name': 'Peter'}, {'name': 'xiaoming'}], 'user_woman': [{'name': 'Anni'}, {'name': 'zhangsan'}]}
[{'name': 'Peter'}, {'name': 'xiaoming'}]
[{'name': 'Anni'}, {'name': 'zhangsan'}]
{'name': 'Peter'}
{'name': 'xiaoming'}
Peter
xiaoming

Process finished with exit code 0

参考链接:
https://blog.csdn.net/weixin_41855010/article/details/108358091
https://blog.csdn.net/Yuki1127918/article/details/122012131
https://www.csdn.net/tags/MtTaMg0sMjk1NzktYmxvZwO0O0OO0O0O.html
https://blog.csdn.net/qq_58754996/article/details/121170804

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值