企业网站源码模板,什么值得买网站模板,个人网站用什么建站程序,自己做网站到哪里去接广告本文介绍基于Python#xff0c;读取JSON文件数据#xff0c;并将JSON文件中指定的键值对数据转换为.csv格式文件的方法。 在之前的文章Python提取JSON文件中的指定数据并保存在CSV或Excel表格文件内#xff08;https://blog.csdn.net/zhebushibiaoshifu/article/details/132… 本文介绍基于Python读取JSON文件数据并将JSON文件中指定的键值对数据转换为.csv格式文件的方法。 在之前的文章Python提取JSON文件中的指定数据并保存在CSV或Excel表格文件内https://blog.csdn.net/zhebushibiaoshifu/article/details/132572161中我们就介绍过将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 2023author: fkxxgis
import json
import csvjson_file /Users/ddd/Downloads/single.jsonwith 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.csvwith open(csv_filename, w, newline) as csvfile:writer csv.DictWriter(csvfile, fieldnamesfieldnames)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格式文件中看到我们转换之后的数据结果如下图所示。其中紫色框内部分就是列名也就是我们提取出来的键而值则是每一行的数据。 至此大功告成。
欢迎关注疯狂学习GIS