Python之解析JSON数据到Excel文件

        本文介绍在Python中如何解析JSON文件,并将JSON中的数据添加到Excel中。

1、准备JSON文件

准备一个JSON格式的数据文件,例如:

[{
	"_ch": 11,
	"id": "001",
	"title": "1回复@卧牛先生HY: 跑赢沪深300不少//@卧牛...",
	"content": "包括2月沪深300都红了,它还是绿的……压力之大可想而知,唉,基金经理真不是人干的活啊!",
	"abstract": "唉,基金经理真不是人干的活啊!",
	"content_raw": "它还是绿的……压力之大可想而知,唉,基金经理真不是人干的活啊!",
	"publish_time": 1653697225000,
	"update_time": 1653697242000,
	"gather_time": 1653697242000,
	"insert_time": 1653697242000,
	"picture_urls": ["https://assets.imedao.com/ugc/images/face/emoji_05_struggle.png", "https://assets.imedao.com/ugc/images/face/emoji_05_struggle.png"]
},{
	"_ch": 11,
	"id": "002",
	"title": "2回复@卧牛先生HY: 跑赢沪深300不少//@卧牛...",
	"content": "包括2月沪深300都红了,它还是绿的……压力之大可想而知,唉,基金经理真不是人干的活啊!",
	"abstract": "唉,基金经理真不是人干的活啊!",
	"content_raw": "它还是绿的……压力之大可想而知,唉,基金经理真不是人干的活啊!",
	"publish_time": 1653697225000,
	"update_time": 1653697242000,
	"gather_time": 1653697242000,
	"insert_time": 1653697242000,
	"picture_urls": ["https://assets.imedao.com/ugc/images/face/emoji_05_struggle.png", "https://assets.imedao.com/ugc/images/face/emoji_05_struggle.png"]
}, {
	"_ch": 11,
	"id": "003",
	"title": "3回复@卧牛先生HY: 跑赢沪深300不少//@卧牛...",
	"content": "包括2月沪深300都红了,它还是绿的……压力之大可想而知,唉,基金经理真不是人干的活啊!",
	"abstract": "唉,基金经理真不是人干的活啊!",
	"content_raw": "它还是绿的……压力之大可想而知,唉,基金经理真不是人干的活啊!",
	"publish_time": 1653697225000,
	"update_time": 1653697242000,
	"gather_time": 1653697242000,
	"insert_time": 1653697242000,
	"picture_urls": ["https://assets.imedao.com/ugc/images/face/emoji_05_struggle.png", "https://assets.imedao.com/ugc/images/face/emoji_05_struggle.png"]
}
]

2、编写代码

编写代码,如下所示:

import json
import time
import pandas
import datetime

#以下为引入JSON文件,且配置只读、编码
jsonObj = json.load(
    open('110.json', 'r', encoding="utf-8"))

#以下为定义一个字典,以及需要获取的字段名称
dataOutput = {
    "id": [],
    "title": [],
    "content": [],
    "publish_time": [],
    "update_time": [],
    "gather_time": [],
    "insert_time": [],
    "board_name": [],
    "url": []
}
indexNUm = 1

#通过循环来获取JSON中的数据,并添加到字典中
for line in jsonObj:
    dataOutput["id"].append(line["id"])    #获取JSON中的id,并存入字典中的id内
    dataOutput["title"].append(line["title"])
    dataOutput["content"].append(line["content"])
    dataOutput["publish_time"].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(line["publish_time"]/1000)))    #对于JSON中的时间戳数据,可以通过该方法转换为具体的时间
    # dataOutput["publish_time"].append(line["publish_time"])    #也可以不用转换时间,直接获取
    dataOutput["update_time"].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(line["update_time"]/1000)))
    dataOutput["gather_time"].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(line["gather_time"]/1000)))
    # dataOutput["gather_time"].append(line["gather_time"])
    dataOutput["insert_time"].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(line["insert_time"]/1000)))
    dataOutput["board_name"].append(line["board_name"])
    dataOutput["url"].append(line["url"])
    print("正在处理第 "+str(indexNUm) + "行")    #打印正在执行的行数
    indexNUm += 1

print(dataOutput)
print("正在写入Excel")

#定义当前时间
currentTime = datetime.datetime.now()
dataForm = pandas.DataFrame(dataOutput)
dataForm.to_excel("转换结果-test" +
                  currentTime.strftime("%Y%m%d")+".xlsx")
print("写入完成")

3、运行结果

脚本运行后的数据如下:

Python之解析JSON数据到Excel文件_第1张图片

 Excel文件内容如下:Python之解析JSON数据到Excel文件_第2张图片

 

你可能感兴趣的:(Python,json,java,前端)