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 文件中,可以通过以上代码自行验证。