使用python 解析复杂json 并存储在excel中
时间: 2024-03-13 09:46:03 浏览: 131
要解析复杂的JSON数据并将其存储在Excel中,你可以使用Python的`json`和`openpyxl`模块。
首先,你需要读取JSON数据,使用`json.load()`方法将其加载为Python对象。接着,你可以使用`openpyxl`模块创建一个Excel工作簿,然后在工作簿中创建一个工作表。最后,你可以将数据逐行写入工作表中。
下面是一个示例代码,假设你要解析的JSON数据保存在`data.json`文件中,并且数据的格式如下:
```json
{
"students": [
{
"name": "John",
"age": 18,
"grades": {
"math": 90,
"english": 80,
"history": 85
}
},
{
"name": "Sarah",
"age": 17,
"grades": {
"math": 95,
"english": 85,
"history": 90
}
}
]
}
```
```python
import json
from openpyxl import Workbook
# 读取 JSON 数据
with open('data.json', 'r') as f:
data = json.load(f)
# 创建 Excel 工作簿和工作表
wb = Workbook()
ws = wb.active
# 写入表头
ws.append(['Name', 'Age', 'Math', 'English', 'History'])
# 写入数据
for student in data['students']:
name = student['name']
age = student['age']
math = student['grades']['math']
english = student['grades']['english']
history = student['grades']['history']
ws.append([name, age, math, english, history])
# 保存 Excel 文件
wb.save('data.xlsx')
```
在这个例子中,我们首先使用`json.load()`方法将JSON数据加载为Python对象,并将其保存在`data`变量中。接着,我们创建了一个新的Excel工作簿和一个工作表。我们使用`ws.append()`方法将表头写入工作表中。最后,我们通过循环遍历所有学生,将每个学生的姓名、年龄和成绩逐行写入工作表中。最后,我们使用`wb.save()`方法将工作簿保存为`data.xlsx`文件。
你可以根据自己的需要修改这个示例代码来解析和存储你的JSON数据。
阅读全文