Python 字典写入 Excel

Python 字典写入 Excel

Python 中,我们可以使用第三方库 openpyxl 来将一个字典的数据写入 Excel 文件中。本文将会介绍如何实现这一操作。

安装 openpyxl

首先,我们需要安装 openpyxl 库。打开命令行(Windows 平台下的 cmd 或 PowerShell,Linux 或 macOS 下的 Terminal),输入下面的命令来安装:

pip install openpyxl

创建 Excel 文件

我们需要先创建一个 Excel 文件,并将该文件命名为 “test.xlsx”,代码如下:

from openpyxl import Workbook

wb = Workbook()
ws = wb.active
ws.title = "Sheet1"

wb.save("test.xlsx")

我们先要导入 openpyxl 库,并创建一个 Workbook 对象,然后通过该对象来创建一个工作表。

我们还需要设置该工作表的名称,这里设置为 “Sheet1″。

最后,我们需要将工作簿保存到一个名字为 “test.xlsx” 的文件中。

将字典写入 Excel

接下来,我们需要将想要写入 Excel 文件的字典定义好。这里我们定义一个名为 “students” 的字典,来存储学生的信息:

students = {
    "Alice": {
        "age": 18,
        "gender": "female",
        "major": "Computer Science"
    },
    "Bob": {
        "age": 19,
        "gender": "male",
        "major": "Mathematics"
    },
    "Charlie": {
        "age": 20,
        "gender": "male",
        "major": "Physics"
    }
}

现在,我们将这个字典中的信息写入 Excel 文件中:

from openpyxl import load_workbook

wb = load_workbook(filename="test.xlsx")
ws = wb["Sheet1"]

row_num = 1
for name, info in students.items():
    ws.cell(row=row_num, column=1, value=name)
    ws.cell(row=row_num, column=2, value=info["age"])
    ws.cell(row=row_num, column=3, value=info["gender"])
    ws.cell(row=row_num, column=4, value=info["major"])
    row_num += 1

wb.save("test.xlsx")

我们通过 load_workbook 函数来加载之前创建的 Excel 文件。然后,我们通过 wb["Sheet1"] 获取该文件中的工作表 “Sheet1″。

之后,我们使用 for 循环来遍历名为 “students” 的字典。对于字典中的每一项,我们将学生的姓名、年龄、性别和专业信息分别写入 Excel 文件。

这里需要注意:

  • ws.cell(row=row_num, column=1, value=name) 语句将学生的姓名写入第 row_num 行、第 1 列的单元格中。
  • ws.cell(row=row_num, column=2, value=info["age"]) 语句将学生的年龄写入第 row_num 行、第 2 列的单元格中。
  • ws.cell(row=row_num, column=3, value=info["gender"]) 语句将学生的性别写入第 row_num 行、第 3 列的单元格中。
  • ws.cell(row=row_num, column=4, value=info["major"]) 语句将学生的专业信息写入第 row_num 行、第 4 列的单元格中。

最后,我们需要保存修改后的 Excel 文件。

完整代码

下面是将字典写入 Excel 文件的完整代码:

from openpyxl import Workbook, load_workbook

students = {
    "Alice": {
        "age": 18,
        "gender": "female",
        "major": "Computer Science"
    },
    "Bob": {
        "age": 19,
        "gender": "male",
        "major": "Mathematics"
    },
    "Charlie": {
        "age": 20,
        "gender": "male",
        "major": "Physics"
    }
}

wb = Workbook()
ws = wb.active
ws.title = "Sheet1"
row_num = 1
for name, info in students.items():
    ws.cell(row=row_num, column=1, value=name)
    ws.cell(row=row_num, column=2, value=info["age"])
    ws.cell(row=row_num, column=3, value=info["gender"])
    ws.cell(row=row_num, column=4, value=info["major"])
    row_num += 1

wb.save("test.xlsx")

结论

Python 中,我们可以使用 openpyxl 库来将一个字典的数据写入 Excel 文件中。过程包括创建 Excel 文件、定义字典并写入 Excel 文件中,可以通过以上代码自行验证。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程