Openpyxl
# Openpyxl 库
openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档
pip install openpyxl pillow xlrd xlwt
中文文档: https://www.osgeo.cn/openpyxl/index.html#usage-examples
- 工作簿、工作表、单元格之间的关系
- 一个工作簿(workbook)由多个工作表(worksheet)组成;
- 一个工作表有多个单元格(cell)组成;
- 通过行(row)和列(column)可以定位到单元格。
# 工作簿对象
wb.active :获取第一张工作表对象 wb[sheet_name] :获取指定名称的工作表对象 wb.sheetnames :获取所有工作表名称 wb.worksheets:获取所有工作表对象,wb.worksheets[0]可以根据索引获取工作表,0代表第一个 wb.create_sheet(sheet_name,index=“end”):创建并返回一个工作表对象,默认位置最后,0代表第一个 wb.copy_worksheet(sheet):在当前工作簿复制指定的工作表并返回复制后的工作表对象 wb.remove(sheet):删除指定的工作表 ws.save(path):保存到指定路径path的Excel文件中,若文件不存在会新建,若文件存在会覆盖
# 工作表对象
ws.title:获取或设置工作表名 ws.max_row:工作表最大行数 ws.max_column:工作表最大列数 ws.append(list):表格末尾追加数据 ws.merge_cells(‘A2:D2’):合并单元格 ws.unmerge_cells(‘A2:D2’):解除合并单元格。
# 单元格读取
ws[‘A1’]:根据坐标获取单个单元格对象 ws.cell(row, column, value=None):根据行列获取单个单元格对象 ws[1]:获取第一行所有单元格对象,ws[“1”]也可 ws[“A”]:获取第A列所有单元格对象 ws[“A”:“B”]:获取A到B列所有单元格对象,ws[“A:B”]也可 ws[1:2]:获取1到2行所有单元格对象,ws[“1:2”]也可 ws[“A1”:“B2”]:获取A1到B2范围所有单元格对象,ws[“A1:B2”]也可。
# 单元格对象
cell.value :获取或设置值 cell.column : 数字列标 cell.column_letter : 字母列标 cell.row : 行号 cell.coordinate : 坐标,例如’A1’ cell.data_type : 数据类型, ’s‘ = string字符串,‘n’ = number数值,会根据单元格值自动判断 cell.number_format :单元格格式,默认”General“常规,详见excel自定义数据类型
from openpyxl import load_workbook
from openpyxl.cell import Cell
from openpyxl.drawing.image import Image #需要安装pillow库
from openpyxl.workbook import Workbook
from openpyxl.worksheet.worksheet import Worksheet
# 第一步:读取文件:文件名加后缀, 默认可编辑修改
wb:Workbook = load_workbook(filename="用户列表.xlsx")
img:Image= Image("1.png");
print(img.width, img.height);
# 第二步:读取工作表
ws:Worksheet = wb.worksheets[0];
# 第三步:读取单元格, 两种方式
cell:Cell = ws['a1'];
print(cell.value );
print(ws.cell(1,1).value );
# 数据的增删改
cell.value="修改后id"
# 保存工作表
wb.save(filename="用户列表改.xlsx")
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
参考:
财务人常用Python模块大集合:Openpyxl操作Excel - 知乎 (zhihu.com) (opens new window)
Excel 神器 —— OpenPyXl - 知乎 (zhihu.com) (opens new window)
( openpyxl官方教程参考手册(翻译)_暖冬诗者的博客-CSDN博客_openpyxl参考手册 (opens new window)