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

yizhihongxing

下面是“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之自动化运维(Paramiko)

    浅谈python之自动化运维(Paramiko) 什么是Paramiko Paramiko是Python实现的SSHv2协议的模块,是 Python中一个用于SSH协议的模块,可以实现SSH的远程管理功能。相比于传统的SSH客户端,可以通过脚本进行大量的自动化运维操作,提高运维效率。 安装Paramiko 安装Paramiko非常简单,只需要使用pip安装即…

    python 2023年5月19日
    00
  • Python实现解析Bit Torrent种子文件内容的方法

    下面是“Python实现解析Bit Torrent种子文件内容的方法”的完整攻略。 1. 什么是Bit Torrent种子文件 Bit Torrent是一种P2P协议,常用于网络上文件的共享和下载。种子文件包含了需要下载的文件的元数据信息,包括文件名、文件大小、文件分块哈希值等等。 2. 解析Bit Torrent种子文件的工具 Python提供了一些解析种…

    python 2023年5月20日
    00
  • 详解Python PIL的logical_and()和logical_or()方法

    Python PIL(Python Imaging Library)是Python编程语言中的图像处理库。它允许开发人员在Python代码中处理图像,进行各种复杂的图像操作,如裁剪、调整大小、改变图像格式、增加滤镜等。其中,logical_and()和logical_or()是PIL库提供的图像逻辑运算函数,用于将两张二进制图像进行逻辑与操作和逻辑或操作。 …

    python-answer 2023年3月25日
    00
  • Pytest mark使用实例及原理解析

    Pytestmark使用实例及原理解析 Pytestmark是pytest框架中的一个插件,用于标记测试用例。本文将详细介绍Pytestmark的使用实例及原理解析,并提供两个示例。 Pytestmark的安装 在使用Pytestmark之前,需要先安装pytest框架。可以使用pip命令来安装pytest框架,如下所示: pip install pytes…

    python 2023年5月15日
    00
  • python 执行终端/控制台命令的例子

    要在 Python 中执行终端/控制台命令,可以使用 os 模块或 subprocess 模块。这两个模块的使用方式有所不同,下面就来详细讲解一下它们的使用方法。 使用 os 模块执行终端/控制台命令 首先,需要在 Python 中导入 os 模块: import os 1. 执行简单的终端命令 如果要执行一个简单的终端命令,可以使用 os.system()…

    python 2023年6月2日
    00
  • Python中的 No Module named ***问题及解决

    Python中的NoModuleNamed***问题及解决 在Python编程中,我们经常会遇到”NoModuleNamed”的问题,这通常是由于Python无法找到所需模块或包而起的。本文将详细讲解Python中的NoModuleNamed问题及解决,包括问题的原因、解决方法和两个示例。 问题原因 在Python中,当我们使用import语句导入模块或包时…

    python 2023年5月13日
    00
  • Mind+怎么编写python程序? Mind+编程做趣味python小程序的技巧

    针对“Mind+怎么编写python程序? Mind+编程做趣味python小程序的技巧”的问题,我给出如下完整攻略: 1. 在Mind+中编写Python程序 在Mind+中编写Python程序,可以分为如下几个步骤: 1.1. 创建Python工程 在Mind+中点击“文件”-“新建”-“Python工程”,可以创建Python工程。在创建的工程中,可以…

    python 2023年5月23日
    00
  • Excel 如何计算总数的百分比

    在 Excel 中,我们可以使用“SUM”和“SUMIF”函数来计算总数的百分比。以下是 Excel 如何计算总数的百分比的完整攻略: 计算总数的百分比 要计算总数的百分比,可以使用“SUM”和“SUMIF”函数。具体步骤如下: 打开 Excel,选择要计算总数的范围。 在单元格中输入以下公式:=SUMIF(A1:A10,”>0″)/SUM(A1:A1…

    云计算 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部