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

目录:

    • 使用 Pandas 转 Excel
    • 使用 Openpyxl 转 Excel
    • 使用 xlsxwriter 转 Excel
    • 使用 csv 转 Excel

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

使用 Pandas 转 Excel

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

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

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()) 提取字典中的值作为数据行。

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 文件、添加工作表,添加数据。

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 += 1for 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 打开、处理。

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 文件,有效地呈现和分析数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringCloud】Ribbon源码解析

ribbon是一个负载均衡组件,它可以将请求分散到多个服务提供者实例中,提高系统的性能和可用性。本章分析ribbon是如何实现负载均衡的 1、LoadBalanced 消费者在引入ribbon组件后,给http客户端添加LoadBalanced注解就能启用负载均衡功能。Load…

压缩包怎么解压,解压压缩包不损坏文件

常见格式: ZIP:最常见的压缩文件格式之一,支持跨平台。RAR:另一种常见的压缩文件格式,通常压缩率比ZIP高,但不如ZIP普及。7Z:来自7-Zip的压缩格式,支持更高的压缩率和一些高级特性。…

手机照片数据恢复,2个技巧解决你的疑惑与困扰

手机照片是我们日常生活中记录美好瞬间的重要工具,然而,当照片存储量越来越大,以至于手机内存不足时,我们就不得不放弃一部分。照片数据恢复是否还有希望呢?当然啦!本文将为你提供2个实用的技巧&#xff0c…

虚拟机配置与windows之间文件夹共享samba服务:

虚拟机配置与windows之间文件夹共享samba服务: #输入安装命令: 第一步: 下载samba cd /etc/ sudo apt-get install samba第二步: 配置用户 sudo smbpasswd -a 虚拟机用户名第三步: 进入配置文件配置共享文件 sudo vim /etc/samba/smb.conf末尾输入以下内容: [s…

经典递归题 扩充序列 两种做法

一道经典递归题,两种做法,常规递归做法和模拟数学规律解法 3695. 扩充序列 - AcWing题库 扩充序列 样例解释 对于样例 1,经过 2 次扩充,得到序列 [1,2,1,3,1,2,1]其第 2 个元素为 2。 对于样例 2,经过 3次扩充&…

针对airtest的poco标签正则匹配

1.text属性方式定位 poco(text“中古屋”) 换成正则表达式定位 poco(textMatches“正则表达式”) poco(textMatches".*中古屋") 2.name属性方式定位 poco(name‘com.addcn.android.house591:id/grid_item_text’) 换成正则表达式定位 poco(nameMatches“正则表…

Linux下如何设置可执行文件和库文件的环境变量?

在Linux系统中,可执行文件和库文件的查找路径是由环境变量控制的,其中最重要的是PATH环境变量用于可执行文件,而动态库的查找路径则由LD_LIBRARY_PATH环境变量决定。下面分别介绍这两个方面: 可执行文件的搜索路径(PA…

对不起,AI大模型不是风口

“我们正处在全新起点,这是一个以大模型为核心的人工智能新时代,大模型改变了人工智能,大模型即将改变世界。”——5月26日,百度创始人、董事长兼CEO李彦宏先生在2023中关村论坛发表了《大模型改变世界》演讲。 李彦宏指出&#…

【SpringCloud】Hystrix源码解析

hystrix是一个微服务容错组件,提供了资源隔离、服务降级、服务熔断的功能。这一章重点分析hystrix的实现原理 1、服务降级 CAP原则是分布式系统的一个理论基础,它的三个关键属性分别是一致性、可用性和容错性。当服务实例所在服务器承受过大的压力或者受…

c++【入门】挖胡萝卜

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 小兔朱迪挖了x个胡萝卜,狐狸尼克挖到胡萝卜数量是小兔挖到的3倍,小羊肖恩挖到胡萝卜的数量比狐狸尼克少8个; 请你编程计算一下狐狸尼克和小羊肖恩分别挖了几个胡萝卜,以及平均每…

前端工程化09-webpack静态的模块化打包工具(未完结)

9.1、开发模式的进化历史 webpacks是一个非常非常的强大的一个工具,相应的这个东西的学习也是有一定的难度的,里边的东西非常的多,里面涉及到的 概念的话也是非常非常的多的。 这个东西既然非常重要,那么在我们前端到底处于怎样…

HCIA4.26-5.10

OSPF ——开放式最短路径优先协议 无类别链路状态IGP动态路由协议 距离矢量协议 运行距离矢量协议的路由器会周期性的泛洪自己的路由表,通过路由之间的交互,每台路由器都从相邻的路由器学习到路由条目,随后加载进自己的路由表中。对于网络…

GD32 开发笔记

0x01 GPIO时钟使能的坑 使用GD32的GPIO引脚来控制 74HC595 ,发现引脚一直无法控制,始终输出3.3v,初始化环节应该是出了问题。用通俗的话来说,就是点灯点不亮 排查了MCU、光耦隔离芯片、被强行上拉等问题,最后发现是G…

Python代码分析和修复工具库之coala使用详解

概要 代码质量在软件开发中至关重要,保持代码的可读性、一致性和易维护性是每个开发者的目标。coala 是一个开源的代码分析和修复工具,旨在帮助开发者自动化代码质量检查,支持多种编程语言,包括 Python、C++、JavaScript 等。通过使用 coala,开发者可以方便地集成代码检查…

AI时代的软件工程:挑战与改变

人工智能(AI)正以惊人的速度改变着我们的生活和工作方式。作为与AI关系最为密切的领域之一,软件工程正经历着深刻的转变。 1 软件工程的演变 软件工程的起源 软件工程(Software Engineering)是关于如何系统化、规范化地…

input调用手机摄像头实现拍照功能vue

项目需要一个拍照功能&#xff0c;实现功能如下图所示:若使用浏览器则可以直接上传图片&#xff0c;若使用手机则调用手机摄像头拍照。 1.代码结构 <!--input标签--> <input ref"photoRef"type"file"accept"image/*"capture"envir…

Leetcode 3202. Find the Maximum Length of Valid Subsequence II

Leetcode 3202. Find the Maximum Length of Valid Subsequence II 1. 解题思路2. 代码实现 题目链接&#xff1a;3202. Find the Maximum Length of Valid Subsequence II 1. 解题思路 这一题的话是上一题3201. Find the Maximum Length of Valid Subsequence I的升级版&am…

基于多源数据的密码攻防领域知识图谱构建

源自&#xff1a; 信息安全与通信保密杂志社 作者&#xff1a;曹增辉 , 郭渊博 , 黄慧敏 摘 要 提高网络空间安全的密码攻防能力&#xff0c;需要形成可表示、可共享、可分析的领域知识模式和知识库。利用自顶向下的构建方法&#xff0c;并通过本体构建方法梳理密码攻防领域…

IPSec:互联网协议安全机制的深度解析与应用

目录 一、IPSec概述 二、IPSec的组成 三、IPSec的工作原理 四、IPSec的用途 IPSec&#xff08;Internet Protocol Security&#xff09;作为现代网络通信中不可或缺的安全基础设施&#xff0c;旨在为基于IP&#xff08;Internet Protocol&#xff09;的数据传输提供端到端的…

MySQL数据库锁详解

MySQL数据库锁详解 在多用户环境下&#xff0c;数据库锁用于保证事务的完整性和数据的一致性。MySQL提供了多种不同类型的锁&#xff0c;以适应不同的并发需求和性能考虑。本文将详细介绍MySQL中的锁机制&#xff0c;包括锁的类型、锁定机制的原理以及如何管理锁。 1. 锁的类…