本文介绍基于Python,读取JSON文件数据,并将JSON文件中指定的键值对数据转换为.csv
格式文件的方法。
在之前的文章疯狂学习GIS:Python读取JSON数据并存储为CSV表格中,我们就介绍过将JSON文件数据保存到.csv
格式或.xlsx
格式的表格文件中的方法;而本文我们将针对不同的待提取数据特征,给出另一种方法。
首先,我们来明确一下具体的需求。我们现有一个JSON文件数据,是一个包含多个JSON对象的列表,如下图所示;其中,我们希望将text
中的内容提取出来——text
中的数据都是以键值对的形式存储的,我们希望的是,将键值对的键作为.csv
格式文件的列名,而值则是这一列对应的值;因为这个JSON数据中包含很多个text
(每一个text
中的所有键都是一样的,但是值不完全一致),所以我们最后就会得到一个具有很多行的.csv
格式文件。
明确了需求,我们就可以开始代码的撰写。本文所用代码如下。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 15 11:12:01 2023
@author: fkxxgis
"""
import json
import csv
json_file = "/Users/ddd/Downloads/single.json"
with open(json_file, 'r') as file:
data = json.load(file)
fieldnames = set()
for item in data:
fieldnames.update(json.loads(item['text']).keys())
csv_filename = "/Users/didi/Downloads/output.csv"
with open(csv_filename, 'w', newline='') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for item in data:
json_string = item['text']
row_data = json.loads(json_string)
writer.writerow(row_data)
其中,我们首先通过import
语句导入必要的Python模块,包括用于处理JSON数据的json
和用于处理CSV文件的csv
。
接下来,我们打开名为single.json
的JSON文件并读取其内容,将其存储在data
变量中。json.load(file)
用于将JSON文件内容加载到Python数据结构中。随后,创建一个空集合fieldnames
,用于存储将在CSV文件的头部写入的列名。
紧接着,我们遍历data
列表中的每个元素,其中每个元素是一个包含JSON格式的字符串的字典。对于每个元素,将JSON文本——也就是item['text']
解析为字典,并获取该字典中的所有键。这些键将被添加到fieldnames
集合中,以便稍后在CSV文件的头部(列名称)使用。
其次,创建一个CSV文件output.csv
以进行写入,使用csv.DictWriter
对象初始化,其中指定了要写入的列名(通过fieldnames
变量)。使用writer.writeheader()
写入CSV文件的头部,这将包含字段名称。最后,遍历data
列表中的每个元素,对于每个元素,将JSON文本解析为字典,并将该字典的数据写入CSV文件中,每行对应一个JSON对象。
执行上述代码,我们即可在指定的结果.csv
格式文件中看到我们转换之后的数据结果;如下图所示。其中,紫色框内部分就是列名,也就是我们提取出来的键,而值则是每一行的数据。
以上就是“用Python提取json数据到Excel文件中”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。