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寻找list中最大值、最小值并返回其所在位置的方法

    在Python中,可以使用内置函数max()和min()来寻找列表中的最大值和最小值。但是,如果需要返回最大值和最小值所在的位置,可以使用enumerate()函数和列表推导式来现。 以下是寻找列表中最大值和最小值并返回其所在位置的方法: # 示例1:寻找列表中最大值和最小值并返回其所在位置 lst = [3, 4, 1, 5, 9, 2, 6, 5, 3,…

    python 2023年5月13日
    00
  • Python Beautiful Soup模块使用教程详解

    BeautifulSoup是一个Python库,用于从HTML和XML文件中提取数据。它提供了一种简单的方式来遍历文档树,并提供了一些有用的方法来搜索和操作文档树。以下是详细的攻略,介绍如何使用PythonBeautifulSoup模块的使用教程: 安装BeautifulSoup 在使用BeautifulSoup之前,需要先安装BeautifulSoup。可…

    python 2023年5月14日
    00
  • Python实现农历转换教程详解

    Python实现农历转换教程详解 介绍 中国农历是一种十分特殊的时间计量方式,相比于阳历,它更加符合农事生产和中国传统文化。Python作为一门十分强大的编程语言,在处理日期时间问题上也能够游刃有余。在本篇教程中,我们将会学习如何使用Python实现农历转换,将阳历转换为农历。 实现过程 首先我们需要安装一个叫做lunardate的Python库,它是一个P…

    python 2023年6月2日
    00
  • python使用tomorrow实现多线程的例子

    下面是详细讲解使用Tomorrow实现Python多线程的攻略。 什么是Tomorrow Tomorrow是一个Python库,它允许在Python应用程序中异步执行函数和方法调用。Tomorrow可以帮助我们使用多线程,多进程和协程来提升应用程序的性能。 安装Tomorrow 使用pip安装Tomorrow库: pip install tomorrow 使…

    python 2023年5月18日
    00
  • 如何基于python测量代码运行时间

    当我们优化代码或者比较算法的效率时,了解代码运行所需时间是非常重要的。Python提供了一种方法来测量代码运行时间。在本文中,我们将讨论Python中测量代码运行时间的方法。 time库 Python内置time库,可以用于测量代码执行所需时间。具体步骤如下: 使用time模块中的time()函数记录当前时间作为开始时间。 执行要计时的代码。 再次使用tim…

    python 2023年6月3日
    00
  • Python学习之str重要函数

    Python学习之str重要函数 在Python中,字符串操作是很常见的操作类型。字符串类型的变量作为Python中常用的数据类型,在处理文本和数据时起着重要的作用。 在Python的str类型中,有一些常用的函数,在字符串的处理中起到了非常重要的作用。下面是str重要函数的详细讲解。 1. 字符串格式化:format函数 在Python中,我们可以通过fo…

    python 2023年6月5日
    00
  • 利用python获取某年中每个月的第一天和最后一天

    针对问题“利用python获取某年中每个月的第一天和最后一天”的完整攻略,以下是具体的步骤: 1. 导入模块 我们需要用到 Python 标准库中的 calendar 模块,所以首先需要导入该模块: import calendar 2. 获取某月的第一天和最后一天 calendar 模块提供了 monthrange() 方法,该方法能够获取指定年份和月份的日…

    python 2023年6月2日
    00
  • Python调用百度AI实现图片上文字识别功能实例

    以下是“Python调用百度AI实现图片上文字识别功能实例”的完整攻略: 1、注册百度AI开放平台 首先,需要在百度AI开放平台中注册账号并创建应用,以获取所需的API Key和Secret Key。具体步骤如下: 打开百度AI开放平台官网(https://ai.baidu.com/) 点击右上角的“控制台”按钮,进入管理后台 创建应用,选择“文字识别”模块…

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