在 Python 中将字典内容保存到 Excel 文件

目录:

    • [使用 Pandas 转 Excel](#使用 Pandas 转 Excel)
    • [使用 Openpyxl 转 Excel](#使用 Openpyxl 转 Excel)
    • [使用 xlsxwriter 转 Excel](#使用 xlsxwriter 转 Excel)
    • [使用 csv 转 Excel](#使用 csv 转 Excel)

Python 中的字典是一个数据集合,其中每个值对应一个键。它们是无序的、可变的,并且对字典中存储的值和键的数据类型没有限制。Python 程序员经常需要在不同格式之间传输数据,将字典导出到 Excel 是一项常见的任务。

使用 Pandas 转 Excel

Pandas 提供了一个简单的 to_excel() 方法可以将 DataFrame 转换为 Excel 文件。

通过先将字典转换为 DataFrame,然后可以使用 to_excel() 方法有效地将数据导出到 Excel 文件。

python 复制代码
import pandas as pd
dct = {'Name': ['Li', 'Wang', 'Zhang'],
        'Age': [17, 16, 18],
     'Origin': ['BeiJing', 'TianJin', 'ShangHai']}

# 字典转 DataFrame
df = pd.DataFrame(dct)

# DataFrame 写入 Excel
df.to_excel('output.xlsx', index=False)

以上示例,将字典转换为 pandas DataFrame,其中键成为列标题,值成为数据行。to_excel() 方法将 DataFrame 导出到 Excel 文件,其中 index=False 确保 DataFrame 的索引不会作为额外的列包含在 Excel 文件中。

使用 Openpyxl 转 Excel

使用 Openpyxl 设置 Excel 工作簿,然后将字典键作为标题行,表达式 zip(*data_dict.values()) 提取字典中的值作为数据行。

python 复制代码
from openpyxl import Workbook
dct = {'Name': ['Li', 'Wang', 'Zhang'],
        'Age': [17, 16, 18],
     'Origin': ['BeiJing', 'TianJin', 'ShangHai']}

wb = Workbook()
ws = wb.active

# 将字典的键作为标题行
ws.append(list(dct.keys()))

# 将字典的值作为数据行添加
for row in zip(*dct.values()):
    ws.append(row)

wb.save('output.xlsx')

使用 xlsxwriter 转 Excel

XlsxWriter 是一个用于处理 Excel 文件的 Python 模块。可以灵活的创建 Excel 文件、添加工作表,添加数据。

python 复制代码
import xlsxwriter
dct = {'Name': ['Li', 'Wang', 'Zhang'],
        'Age': [17, 16, 18],
     'Origin': ['BeiJing', 'TianJin', 'ShangHai']}

# 创建 Excel 文件,并添加一个工作表
workbook = xlsxwriter.Workbook('output.xlsx')
worksheet = workbook.add_worksheet()

# 起始位置
row, col = 0, 0

# 写入键值
for key in dct.keys():
    worksheet.write(row, col, key)
    col += 1

for i, key in enumerate(dct.keys()):
    for j, item in enumerate(dct[key]):
        worksheet.write(j+1, i, item)

workbook.close()

使用 csv 转 Excel

csv 模块实现用于以 CSV 格式读取和写入表格数据。 CSV 文件可以用 Excel 打开、处理。

python 复制代码
import csv
dct = {'Name': ['Li', 'Wang', 'Zhang'],
        'Age': [17, 16, 18],
     'Origin': ['BeiJing', 'TianJin', 'ShangHai']}

with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=dct.keys(), dialect='excel')
    writer.writeheader()
    writer.writerows([{'Name': name, 'Age': age, 'Origin': origin} for name, age, origin in zip(dct['Name'], dct['Age'], dct['Origin'])])

将字典导出到 Excel 对于 Python 数据分析人员来说是一项常用的技能。借助 openpyxl 和 pandas 等库,可以轻松地将词典转换为 Excel 文件,有效地呈现和分析数据。

相关推荐
uppp»43 分钟前
深入理解 Java 反射机制:获取类信息与动态操作
java·开发语言
Yan-英杰1 小时前
百度搜索和文心智能体接入DeepSeek满血版——AI搜索的新纪元
图像处理·人工智能·python·深度学习·deepseek
weixin_307779132 小时前
Azure上基于OpenAI GPT-4模型验证行政区域数据的设计方案
数据仓库·python·云计算·aws
玩电脑的辣条哥3 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
多想和从前一样5 小时前
Django 创建表时 “__str__ ”方法的使用
后端·python·django
ll7788115 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
小喵要摸鱼7 小时前
【Pytorch 库】自定义数据集相关的类
pytorch·python
刘_sy7 小时前
使用EasyExcel和多线程实现高效数据导出
java·excel·easyexcel·批量导出excel
bdawn7 小时前
深度集成DeepSeek大模型:WebSocket流式聊天实现
python·websocket·openai·api·实时聊天·deepseek大模型·流式输出
Jackson@ML7 小时前
Python数据可视化简介
开发语言·python·数据可视化