使用pandas、xlrd、openpyxl读取Excel
首先创建一个示例Excel文件example.xlsx,其中包含以下数据:
| Name | Age | Gender |
|---|---|---|
| Alice | 28 | Female |
| Bob | 35 | Male |
| Charlie | 42 | Male |
| Dave | 29 | Male |
| Eve | 31 | Female |
安装
pip install pandas
pip install xlrd
pip install openpyxl
方法一:使用Pandas库
-
使用Pandas库来读取Excel文件并将其转换为字典格式。这是最简单和最常用的方法。
import pandas as pd# 读取Excel文件 excel_file = 'example.xlsx' sheet_name = 'Sheet1'# 使用Pandas读取Excel文件 data_frame = pd.read_excel(excel_file, sheet_name=sheet_name)# 将数据转换为字典格式 data_dict = data_frame.to_dict(orient='records')print(data_dict) -
输出结果:
[{'Name': 'Alice', 'Age': 28, 'Gender': 'Female'}, {'Name': 'Bob', 'Age': 35, 'Gender': 'Male'}, {'Name': 'Charlie', 'Age': 42, 'Gender': 'Male'}, {'Name': 'Dave', 'Age': 29, 'Gender': 'Male'}, {'Name': 'Eve', 'Age': 31, 'Gender': 'Female'}]
方法二:使用xlrd库
-
示例代码
import xlrd# 读取Excel文件 excel_file = 'example.xlsx' sheet_name = 'Sheet1'# 使用xlrd读取Excel文件 workbook = xlrd.open_workbook(excel_file) sheet = workbook.sheet_by_name(sheet_name)# 将数据转换为字典格式 data_dict = [] for row in range(1, sheet.nrows):row_data = {}for col in range(sheet.ncols):cell_value = sheet.cell_value(row, col)row_data[sheet.cell_value(0, col)] = cell_valuedata_dict.append(row_data)print(data_dict) -
输出结果:
[{'Name': 'Alice', 'Age': 28.0, 'Gender': 'Female'}, {'Name': 'Bob', 'Age': 35.0, 'Gender': 'Male'}, {'Name': 'Charlie', 'Age': 42.0, 'Gender': 'Male'}, {'Name': 'Dave', 'Age': 29.0, 'Gender': 'Male'}, {'Name': 'Eve', 'Age': 31.0, 'Gender': 'Female'}]
方法三:使用openpyxl库
-
示例代码
from openpyxl import load_workbook# 读取Excel文件 excel_file = 'example.xlsx' sheet_name = 'Sheet1'# 使用openpyxl读取Excel文件 workbook = load_workbook(filename=excel_file) worksheet = workbook[sheet_name]# 将数据转换为字典格式 data_dict = [] for row in worksheet.iter_rows(min_row=2, max_col=worksheet.max_column, values_only=True):row_data = {}for i, value in enumerate(row):row_data[worksheet.cell(row=1, column=i+1).value] = valuedata_dict.append(row_data)print(data_dict) -
输出结果:
[{'Name': 'Alice', 'Age': 28.0, 'Gender': 'Female'}, {'Name': 'Bob', 'Age': 35.0, 'Gender': 'Male'}, {'Name': 'Charlie', 'Age': 42.0, 'Gender': 'Male'}, {'Name': 'Dave', 'Age': 29.0, 'Gender': 'Male'}, {'Name': 'Eve', 'Age': 31.0, 'Gender': 'Female'}]
总结
-
可以看出使用Pandas库的方法最为简单,而使用xlrd和openpyxl库则需要手动处理每一行的数据。
-
需要注意的是,以上示例代码仅适用于Excel文件中只有一个工作表的情况。如果Excel文件中有多个工作表,需要指定要读取的工作表。
-
如果需要处理大量的Excel文件,建议使用Pandas库,因为它能够自动处理大部分数据类型,并且具有优秀的性能。如果只需要处理少量的Excel文件,可以考虑使用xlrd或openpyxl库。
相关文章:
使用pandas、xlrd、openpyxl读取Excel
首先创建一个示例Excel文件example.xlsx,其中包含以下数据: NameAgeGenderAlice28FemaleBob35MaleCharlie42MaleDave29MaleEve31Female 安装 pip install pandas pip install xlrd pip install openpyxl方法一:使用Pandas库 使用Pandas库来…...
Java面试题接口
Collection接口 List接口 迭代器 Iterator 是什么? Iterator 接口提供遍历任何 Collection 的接口。我们可以从一个 Collection 中使用迭代器方法来获取迭 代器实例。迭代器取代了 Java 集合框架中的 Enumeration,迭代器允许调用者在迭代过程中移…...
内存取证小练习-基础训练
这是题目和wolatility2.6的链接 链接:https://pan.baidu.com/s/1wNYJOjLoXMKqbGgpKOE2tg?pwdybww 提取码:ybww --来自百度网盘超级会员V4的分享 压缩包很小,题目也比较简单基础,可以供入门使用 1:Which volatility…...
【Android -- 开源库】数据库 Realm 的基本使用
简介 Realm 是一个 MVCC (多版本并发控制)数据库,由Y Combinator公司在2014年7月发布一款支持运行在手机、平板和可穿戴设备上的嵌入式数据库,目标是取代 SQLite。Realm 本质上是一个嵌入式数据库,他并不是基于 SQLit…...
基于el-input的数字范围输入框
数字范围组件 在做筛选时可能会出现数字范围的筛选,例如:价格、面积,但是elementUI本身没有自带的数字范围组件,于是进行了简单的封装,不足可自行进行优化 满足功能: 最小值与最大值的相关约束࿰…...
车联网OTA安全实践
摘要: 近年来,智能汽车已成为全球汽车产业发展的战略方向,汽车技术与工程核心逐渐从传统硬件层面转移到软件层面,汽车行业已经踏上了软件定义汽车(SDV)的变革之路。 在SDV的大趋势下,汽车零部件…...
智融合·共未来丨智合同携手百融云创打造合同智能化应用服务平台
人工智能技术是当今社会的热议话题之一。近年来,众多企业在人工智能领域持续布局,相关技术已在社会生产各环节极大地提高了生产效率。如果把过去信息技术产业的发展比喻为“手工时代”,那么人工智能技术的出现则将把信息技术产业推向“自动化…...
iOS ARC
iOS ARC是自动引用计数的缩写,是一种内存管理技术。它是由苹果公司在iOS 5中引入的,用于自动管理对象的内存生命周期。在ARC中,开发者不再需要手动管理对象的内存,这大大简化了开发过程,同时也减少了内存泄漏的风险。 …...
【代码随想录】刷题Day13
1.deque使用 239. 滑动窗口最大值 deque的介绍在C语法(12)---- 模拟实现queue和stack_哈里沃克的博客-CSDN博客 其实deque就是一个两头都能进出数据的数据结构,我们之所以使用它就是因为他的结构特点就是两边出,这样我们既可以判…...
playwright连接已有浏览器操作
文章目录 playwright连接已有浏览器操作前置准备打开本地已有缓存的Chrome(理解)指定端口打开浏览器连接指定端口已启动浏览器(推荐) playwright连接已有浏览器操作 前置准备 pip install playwright # 安装playwright的python…...
深度学习模型评估简单介绍
文章目录 深度学习模型评估介绍训练集、验证集和测试集应用场景准确率和误差率精确率和召回率F1 分数ROC 曲线和 AUC总结 深度学习模型评估介绍 本教程将介绍深度学习模型的基本评估方法及它们的应用场景。我们主要关注监督学习模型。 训练集、验证集和测试集 在深度学习中&…...
PyTorch——利用Accelerate轻松控制多个CPU/GPU/TPU加速计算
PyTorch——利用Accelerate轻松控制多个CPU/GPU/TPU加速计算 前言官方示例单个程序内控制多个CPU/GPU/TPU简单说一下设备环境导包加载数据 FashionMNIST创建一个简单的CNN模型训练函数-只包含训练训练函数-包含训练和验证训练 多个服务器、多个程序间控制多个CPU/GPU/TPU参考链…...
4个很多人都不知道的现代JavaScript技巧
JavaScript在不断的进化和升级,越来越多的新特性让我们的代码变得更加简洁。因此,今天这篇文章,我将跟大家分享 4 个不常用的 JavaScript 运算符。让我们一起研究它们。 1.可选的链接运算符 这个功能非常好用,它可以防止我的代码…...
【Java笔试强训 19】
🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥汽水瓶 …...
JPA整合达梦数据库
陈老老老板🦸 👨💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容) 👨💻本文简述:本文讲一下SpringBoot整合JPA与达梦数据库,就是简单&…...
制药专业转行软件测试,带我的师傅在这干了两年半,最终还是跑路了......
故事的开始 最近这几天有点忧伤,因为带我的师傅要跑路了,嗯,应该说已经跑路了,他是制药专业的,已经在这个公司干了两年半了。其实今年3月份的时候他就跟我说他要跑路了,然后我说,要不你先把五一…...
「SQL面试题库」 No_53 项目员工II
🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试࿰…...
Ruby适用于什么类型的开发
Ruby是一种开源的、解释型的、面向对象的编程语言,由松本行弘(Yukihiro Matsumoto)于1993年首次发布。Ruby语言的设计理念是追求简洁优美,使编程更加人性化,其语法简单、易读、易写,被誉为“程序员的最佳朋…...
Mysql数据库的备份恢复
最近正在做一个异地数据的定期同步汇总工作,涉及到的数据库主要是Mysql数据库,用于存储现场的一些IOT采集的实时数据,所以做了以下备份恢复测试,现场和总部网络可定期联通,但速度有限,因此计划采用备份恢复…...
C++ 使用动态内存创建一个类
使用动态内存的一个常见原因是允许多个对象共享相同的状态。 例如,假定我们希望定义一个名为Blob 的类,保存一组元素。与容器不同,我们希望Blob对象的不同拷贝之间共享相同的元素。即,当我们拷贝一个Blob时,原Blob对象…...
Spring Boot条件装配原理
Spring Boot条件装配原理 引言 条件装配是Spring Boot自动配置的核心机制,通过Conditional及其派生注解,Spring能够根据当前环境、classpath、配置属性等因素智能地决定是否创建某个Bean。本文将深入剖析条件装配的实现原理、各种条件注解的使用方法以及…...
企业智能体如何高效快速部署落地,这N个细节需要注意
随着企业级智能体技术的日趋成熟,越来越多企业将其作为数字化转型的重要抓手,期望通过智能体提升业务效率、降低运营成本。但现实中,多数企业陷入“部署慢、落地难、效果差”的困境:有的耗时数月仍无法正常上线,有的上…...
数字电路模块化设计的艺术:Logisim-evolution中的层次化抽象实践
数字电路模块化设计的艺术:Logisim-evolution中的层次化抽象实践 【免费下载链接】logisim-evolution Digital logic design tool and simulator 项目地址: https://gitcode.com/gh_mirrors/lo/logisim-evolution 在数字电路设计的世界里,复杂系统…...
NVIDIA Profile Inspector终极指南:轻松解锁显卡隐藏性能的免费工具
NVIDIA Profile Inspector终极指南:轻松解锁显卡隐藏性能的免费工具 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 还在为游戏卡顿、画面撕裂而烦恼?想要彻底掌控显卡性能却找不…...
3大创新突破:APK Installer如何重新定义Windows上的Android应用体验
3大创新突破:APK Installer如何重新定义Windows上的Android应用体验 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在当今跨平台应用需求日益增长的背景下…...
如何快速实现文献元数据智能转换:Zotero插件终极指南
如何快速实现文献元数据智能转换:Zotero插件终极指南 【免费下载链接】zotero-format-metadata Linter for Zotero. A plugin for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and item lang…...
告别系统默认驱动:手把手教你为沁恒CH38x/CH35x PCIe串口卡加载官方Linux驱动(含常见错误排查)
告别系统默认驱动:手把手教你为沁恒CH38x/CH35x PCIe串口卡加载官方Linux驱动(含常见错误排查) 在嵌入式开发和工业控制领域,串口通信的稳定性和功能完整性往往直接影响整个系统的可靠性。当使用沁恒CH38x/CH35x系列PCIe串口卡时…...
Godot引擎命令行插件GDShell:提升开发效率与自动化实践
1. 项目概述:当游戏引擎遇见命令行如果你是一位游戏开发者,尤其是使用Godot引擎的同行,那么你一定对编辑器里那个功能强大但有时略显“笨重”的场景树、资源面板和属性检查器又爱又恨。爱的是它们提供了可视化的创作环境,恨的是当…...
自托管MCP服务器模板:快速构建AI智能体私有工具箱
1. 项目概述:一个为AI智能体赋能的“工具箱”模板最近在折腾AI智能体(Agent)开发的朋友,可能都听说过MCP(Model Context Protocol)这个概念。简单来说,MCP就像是为AI大模型准备的一套标准化的“…...
Taotoken多模型聚合平台助力每日大赛选手灵活选型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken多模型聚合平台助力每日大赛选手灵活选型 对于每日参与算法或创意大赛的选手而言,赛题往往多变,需…...
