Python读取JSON键值对并导出为.csv表格
本文介绍基于
Python
,读取
JSON
文件数据,并将
JSON
文件中指定的
键值对数据
转换为
.csv
格式文件的方法。
在之前的文章
Python按需提取JSON文件数据并保存为Excel表格
中,我们就介绍过将
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)