当前位置: 首页 > news >正文

Python打开Excel文档并读取数据

Python 版本

目前 Python 3 版本为主流版本,这里测试的版本是:Python 3.10.5。

常用库说明

Python 操作 Excel 的常用库有:xlrd、xlwt、xlutils、openpyxl、pandas。这里主要说明下 Excel 文档 .xls 格式和 .xlsx 格式的文档打开和读取。

Python 操作 .xls 格式的 Excel

参考网址:xlrd — xlrd 2.0.1 documentationicon-default.png?t=N7T8https://xlrd.readthedocs.io/en/latest/

import xlrd# 定义文件路径并打开文件
filePath = r'C:\Users\mengll\Desktop\测试的EXCEL文档.xls'
file = xlrd.open_workbook(filePath)# Excel Sheet 页数量:file.nsheets
print("这个表格一共有的sheet数量是: {0}".format(file.nsheets))
# Excel Sheet 页名列表:file.sheet_names()
print("这个表格sheet名是:{0}".format(file.sheet_names()))# Excel 第一个 Sheet 页:file.sheet_by_index(0)
sheet0 = file.sheet_by_index(0)
# Sheet 页的名称、行数、列数是:sheet.name|sheet.nrows|sheet.ncols
print("{0} {1} {2}".format(sheet0.name, sheet0.nrows, sheet0.ncols))
# Sheet 页指定单元格的值是:sheet.cell_value(rowx=1, colx=1)
print("单元格 A1 内容为:{0}".format(sheet0.cell_value(rowx=0, colx=0)))# 循环打印 Sheet 的所有行数据
for rx in range(sheet0.nrows):print(sheet0.row(rx))

Python 操作 .xlsx 格式的 Excel

参考网址:openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.1.3 documentationicon-default.png?t=N7T8https://openpyxl.readthedocs.io/en/stable/

import openpyxl# 定义文件路径并打开文件
filePath = r'C:\Users\mengll\Desktop\测试的EXCEL文档.xlsx'
file = openpyxl.load_workbook(filePath)# Excel Sheet 页名列表:file.sheetnames
print("这个表格sheet名是:{0}".format(file.sheetnames))
print("这个表格sheet名是:{0}".format(file.worksheets))# Excel 第一个 Sheet 页:file['sheet0']
sheet = file['sheet0']
# Sheet 页的名称、左上右下单元格、行数、列数是:sheet.title|sheet.dimensions|sheet.max_row|sheet.min_row|sheet.max_column|sheet.min_column
print("{0} {1} {2} {3}".format(sheet.title, sheet.dimensions, sheet.max_row, sheet.max_column))
# Sheet 页指定单元格的值是:sheet.cell(row=1, column=1).value
print("单元格 A1 内容为:{0}".format(sheet.cell(row=1, column=1).value))

工具中其它很多属性和用法,可以参考文档自行尝试,Good Luck~

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Grafana
  • 光学传感器图像处理流程(一)
  • 怎么用PPT录制微课?详细步骤解析!
  • IMS架构中的注册与会话流程:RTPEngine集成及消息路由详解
  • sqlalchemy.orm中validates对两个字段进行联合校验
  • 浅析Kafka Streams中KTable.aggregate()方法的使用
  • 【活动预告】Apache IoTDB TsFile 智慧能源应用“上会”啦!
  • 【中级通信考试】-动力与环境专业:第四章 机房空调系统
  • win10系统更新后无法休眠待机或者唤醒,解决方法如下
  • 对为什么react需要时间分片,vue3不需要的浅学习
  • iPhone删除所有照片的高效三部曲
  • vitest 单元测试应用与配置
  • [Spring] Spring Web MVC基础理论
  • Memcached负载均衡:揭秘高效缓存分发策略
  • 基于Flask+Apache+WSGI等模块配置Deep Learning应用功能网站(Ubuntu 22.04服务器)
  • .pyc 想到的一些问题
  • ES学习笔记(12)--Symbol
  • gf框架之分页模块(五) - 自定义分页
  • Git同步原始仓库到Fork仓库中
  • IndexedDB
  • input的行数自动增减
  • learning koa2.x
  • Nacos系列:Nacos的Java SDK使用
  • opencv python Meanshift 和 Camshift
  • React+TypeScript入门
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • tab.js分享及浏览器兼容性问题汇总
  • text-decoration与color属性
  • 翻译--Thinking in React
  • 技术:超级实用的电脑小技巧
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 入口文件开始,分析Vue源码实现
  • 思考 CSS 架构
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • Linux权限管理(week1_day5)--技术流ken
  • #stm32驱动外设模块总结w5500模块
  • #考研#计算机文化知识1(局域网及网络互联)
  • $().each和$.each的区别
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (二)测试工具
  • (算法)区间调度问题
  • (小白学Java)Java简介和基本配置
  • (转) 深度模型优化性能 调参
  • (转)Scala的“=”符号简介
  • (转)项目管理杂谈-我所期望的新人
  • (转载)从 Java 代码到 Java 堆
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET CLR基本术语
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .net中的Queue和Stack
  • .NET周刊【7月第4期 2024-07-28】
  • [100天算法】-实现 strStr()(day 52)
  • [12] 使用 CUDA 进行图像处理
  • [BZOJ] 2006: [NOI2010]超级钢琴