Python读取Json字典写入Excel表格的方法

下面是“Python读取Json字典写入Excel表格的方法”的完整实例教程:

1. 读取Json文件

首先,我们需要将Json文件读入Python中,并转换为Python的字典类型。假设我们有一个名为data.json的Json文件,格式如下:

{
    "name": "张三",
    "age": 25,
    "gender": "男",
    "phone": "123456789",
    "address": "广州市海珠区"
}

我们可以使用Python的json模块来读取Json文件,并将其转换为Python字典类型,代码如下:

import json

# 读取Json文件
with open('data.json', 'r', encoding='utf-8') as f:
    json_str = f.read()

# 转换为Python字典类型
data = json.loads(json_str)

print(data)

运行上述代码后,输出结果为:

{
    "name": "张三",
    "age": 25,
    "gender": "男",
    "phone": "123456789",
    "address": "广州市海珠区"
}

2. 写入Excel表格

接下来,我们需要将上一步中得到的字典数据写入Excel表格中。我们可以使用Python的openpyxl模块来操作Excel文件。假设我们要将上述字典数据写入名为data.xlsx的Excel文件的第一行,代码如下:

from openpyxl import Workbook

# 创建一个新的工作簿
wb = Workbook()

# 获取活动的工作表
ws = wb.active

# 写入数据到第一行
ws.append(list(data.keys()))
ws.append(list(data.values()))

# 保存Excel文件
wb.save('data.xlsx')

运行上述代码后,会在当前目录下生成一个名为data.xlsx的Excel文件。打开该文件后,可以看到第一行已经成功写入了我们要导入的Json数据。注意,此处我们将Json数据转换为Python字典类型后,通过keys()方法获取键名列表,通过values()方法获取键值列表,然后使用append()方法将它们分别写入Excel文件的第一行和第二行。

示例1

接下来,我们来看一个例子,假设我们有一个名为student.json的Json文件,格式如下:

{
    "学号1": {
        "name": "张三",
        "score": [80, 90, 85]
    },
    "学号2": {
        "name": "李四",
        "score": [75, 85, 80]
    },
    "学号3": {
        "name": "王五",
        "score": [90, 95, 92]
    }
}

我们想要将该文件中的学生信息导入到Excel文件中。我们可以按照上述步骤进行操作,代码如下:

import json
from openpyxl import Workbook

# 读取Json文件
with open('student.json', 'r', encoding='utf-8') as f:
    json_str = f.read()

# 转换为Python字典类型
data = json.loads(json_str)

# 创建一个新的工作簿
wb = Workbook()

# 获取活动的工作表
ws = wb.active

# 写入表头:学号、姓名、成绩1、成绩2、成绩3
ws.append(['学号', '姓名', '成绩1', '成绩2', '成绩3'])

# 写入数据到Excel表格
for key in data:
    row = [key, data[key]['name']]
    row.extend(data[key]['score'])
    ws.append(row)

# 保存Excel文件
wb.save('student.xlsx')

运行上述代码后,会在当前目录下生成一个名为student.xlsx的Excel文件,数据与原Json文件中的学生信息一一对应。

示例2

假设我们有一个名为city.json的Json文件,格式如下:

[
    {
        "name": "北京",
        "population": 2154.20,
        "area": 16808.83
    },
    {
        "name": "上海",
        "population": 2423.78,
        "area": 6340.50
    },
    {
        "name": "广州",
        "population": 1505.96,
        "area": 7434.40
    }
]

我们希望将该文件中的城市信息导入到Excel文件中,并计算出每个城市的人口密度(人/km²)。我们可以按照上述步骤进行操作,代码如下:

import json
from openpyxl import Workbook

# 读取Json文件
with open('city.json', 'r', encoding='utf-8') as f:
    json_str = f.read()

# 转换为Python列表类型
data = json.loads(json_str)

# 创建一个新的工作簿
wb = Workbook()

# 获取活动的工作表
ws = wb.active

# 写入表头:城市、人口、面积、人口密度
ws.append(['城市', '人口', '面积', '人口密度'])

# 写入数据到Excel表格,并计算人口密度
for city in data:
    name = city['name']
    population = city['population']
    area = city['area']
    density = population / area
    ws.append([name, population, area, density])

# 保存Excel文件
wb.save('city.xlsx')

运行上述代码后,会在当前目录下生成一个名为city.xlsx的Excel文件,数据与原Json文件中的城市信息一一对应,同时在表格中计算出了每个城市的人口密度。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python读取Json字典写入Excel表格的方法 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 解决python 输出到csv 出现多空行的情况

    对于“解决python输出到csv出现多空行的情况”,可以采取以下方法: 问题描述 在使用Python输出到CSV文件时,有时会出现多出空行的情况。例如下面的代码: import csv with open(‘test.csv’, ‘w’, newline=”) as csvfile: writer = csv.writer(csvfile) writer…

    python 2023年6月3日
    00
  • Python SQL查询并生成json文件操作示例

    下面我为您详细讲解一下如何在 Python 中进行 SQL 查询并将结果生成为 JSON 文件的操作示例。 环境准备 首先,我们需要安装一些必要的模块,如 pymysql 和 json。可通过运行以下命令进行安装: pip install pymysql pip install json 连接数据库 连接数据库通常需要填写数据库地址、用户名、密码和库名等信息…

    python 2023年6月3日
    00
  • 如何在Python中使用MongoDB数据库?

    以下是在Python中使用MongoDB数据库的完整使用攻略。 使用MongoDB数据库的前提条件 在使用Python连接MongoDB数据库之前,确保已经安装了MongoDB数据库,并已经创建使用数据库和集合,同时需要安Python的驱动程序,例如pymongo。 步骤1:导入模块 在Python中使用pymongo模块连接MongoDB数据库。以下是导入…

    python 2023年5月12日
    00
  • Python实现爬取知乎神回复简单爬虫代码分享

    本攻略将介绍如何使用Python实现爬取知乎神回复的简单爬虫代码。我们将使用requests库和BeautifulSoup库获取网页内容,并使用正则表达式提取神回复的内容。我们将提供两个示例代码,分别用于获取单个问题的神回复和获取多个问题的神回复。 安装所需库 在开始前,我们需要安装requests、BeautifulSoup和re库。我们可以使用以下命令在…

    python 2023年5月15日
    00
  • Python图像识别+KNN求解数独的实现

    一、准备工作 安装Python环境和必要的第三方库(如:numpy、opencv-python、sklearn等) 准备训练集数据,用于训练KNN分类器 准备待求解数独图片 二、拆分图片 在拆分图片这一步,我们需要对数独图片进行拆分,将每个格子拆分出来。可以使用opencv-python库中的cv2.adaptiveThreshold函数进行二值化处理,然后…

    python 2023年5月18日
    00
  • Excel 如何转换摄氏、开尔文和华氏的温度单位

    在 Excel 中,您可以使用以下步骤将摄氏、开尔文和华氏的温度单位进行转换: 转换温度单位 以下是将摄氏、开尔文和华氏的温度单位进行转换的完整攻略: 假设单元格 A1 中的值为要转换的温度值。 在单元格 B1 中输入以下公式: 将摄氏度转换为华氏度:=A1*9/5+32 将华氏度转换为摄氏度:=(A1-32)*5/9 将开尔文转换为摄氏度:=A1-273.…

    云计算 2023年5月10日
    00
  • Python实现的将文件每一列写入列表功能示例【测试可用】

    下面为你详细讲解Python实现的将文件每一列写入列表功能示例。 需求说明 我们需要读取文件中的每一列数据,并将每一列的数据写入对应的列表中。 实现步骤 根据需求,我们需要按照以下步骤来实现将文件每一列写入列表的功能。 步骤一:读取文件数据 使用Python内置的open()方法打开文件,并使用readlines()方法读取文件数据,并保存在一个列表中。 w…

    python 2023年6月3日
    00
  • Python排序算法之冒泡排序

    Python排序算法之冒泡排序 冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻两个元素,如果它们的顺序错误就交换它们的位置。通过多次遍历,最大的元素逐渐“冒泡”到列表的末尾,从而实现排序。在本攻略中,我们将介绍如何使用Python实现冒泡排序法。 步骤1:实现冒泡排序算法 在使用Python实现冒泡排序算法之前,我们需要先了解冒泡排序的基本…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部