目前openpyxl只支持[.xlsx / .xlsm / .xltx / .xltm]格式的文件,有人说,openpyxl是最好用的excel数据处理插件,这个excel的数据处理插件确实相当可以。主要是它的操作简单、并且处理数据的方式更容易理解。
【阅读全文】
文章图片
openpyxl 官网地址
https://openpyxl.readthedocs.io/en/stable/
在openpyxl的excel数据处理中,一个单元格对象使用cell表示,每一行数据称之为row,每一列数据称之为column。excel文件中的工作空间称之为sheet,下面使用我准备好的一张图片来说明一下。
文章图片
from openpyxl import load_workbook# 导入excel的处理对象workbook = load_workbook(filename = "./data.xlsx")# 加载excel文件print(workbook.sheetnames)# 获取当前excel表格中的所有的表空间# 获取一个表工作空间对象
sheet = workbook["Sheet2"]# 获取表空间对象的数据有几行几列
print(sheet.dimensions)# 获取某个单元格的数据
cell_1 = sheet["A1"]print('A1单元格的数据是:',cell_1.value)
通过定位到第几行第几列的方式获取某个单元格的数据。
cell_2 = sheet.cell(row = 2,column = 2)
获取某个区域的单元然后遍历
# 提取区域中的所有单元格对象
cell_3 = sheet["A1:C5"]print('A1:C5 的数据对象是',cell_3)for row in cell_3: # 遍历每一行的单元格
for column in row: # 遍历每一列的单元格
print(column.value) # 提取当前单元格的数据
行、列数据读取方式
'''
按行读取数据
iter_rows(min_row=1, max_row=10, min_col=1, max_col=5)
min_row: 设置最小行数
max_row: 设置最大行数
min_col: 设置最小列数
max_col: 设置最大列数
'''
for row in sheet.iter_rows(min_row=1, max_row=10, min_col=1, max_col=5):
for column in row:
print(column.value)'''
按列读取数据
iter_cols(min_row=1, max_row=10, min_col=1, max_col=5)
min_row: 设置最小行数
max_row: 设置最大行数
min_col: 设置最小列数
max_col: 设置最大列数
'''
for column in sheet.iter_cols(min_row=1, max_row=10, min_col=1, max_col=5):
for row in column:
print(row.value)'''
读取所有行数据
sheet.rows
'''for row in sheet.rows:
print(row) # 打印每一行的数据
文章图片
【往期精彩】
● 比Selenium更方便的自动化测试工具Helium!
● Python数据可视化:可视化数据分析插件D-Tale
● 计算速度太慢?试试 lru_cache 装饰器!
● 冒泡排序、选择排序之间的比较与代码实现!
● 如何通过pynput与日志记录实现键盘、鼠标的监听行为?
● 如果你是一名java程序员,面对已经写好的python脚本该如何调用,其实很简单!
● 如何使用PyQt5一步步实现用户登录GUI界面、登录后跳转?
● 办公自动化:几行代码将PDF文档转换为WORD文档(代码实战)!
【excel数据处理一(巧妙使用openpyxl提取、筛选数据)】● sched 模块中巨好用的轻量级定时任务神器scheduler!
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)