当前位置: 首页 > 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~

http://www.lryc.cn/news/394404.html

相关文章:

  • 算法day03 桶排序 数据结构分类 时间复杂度 异或运算
  • k8s学习之cobra命令库学习
  • Spring框架的学习SpringMVC(1)
  • 赋值运算符重载和const成员函数和 const函数
  • VSCode设置字体大小
  • Excel中按列的首行字母顺序,重新排列(VBA脚本)
  • 多线程爬虫技术详解
  • 项目一单机安装基于LNMP结构的WordPress网站 web与数据库服务分离
  • vue事件处理v-on或@
  • 使用OpenCV与PySide(PyQt)的视觉检测小项目练习
  • 通信协议_C#实现自定义ModbusRTU主站
  • 【C语言】 —— 编译和链接
  • DNS正向解析与反向解析实验
  • 机器学习简介--NLP(二)
  • Winform中使用HttpClient实现调用http的post接口并设置传参content-type为application/json示例
  • 【RAG探索第3讲】LlamaIndex的API调用与本地部署实战
  • C# —— 日期对象
  • 【MySQL04】【 redo 日志】
  • Android线性布局的概念与属性
  • java反射介绍
  • Spring中@Transactional的实现和原理
  • 华为仓颉可以取代 Java 吗?
  • 性能测试相关理解(一)
  • 缓存-分布式锁-原理和基本使用
  • 判断国内ip
  • linux修改内核实现禁止被ping(随手记)
  • mac M1安装 VSCode
  • 代码随想录算法训练营第二十七天 |56. 合并区间 738.单调递增的数字 968.监控二叉树 (可跳过)
  • 网络基础:IS-IS协议
  • Java面试八股之如何提高MySQL的insert性能