在实际工作中,数据除了处理和储存在各种数据库中,也可以存储到各种类型的文档中,Excel 表格便是常见的格式之一,本文介绍python中一种常见的操纵Excel表格的第三方库–openxlpy,它可以操作除了不支持xls格式外,对其他格式有较好的支持。
openxlpy使用步骤
Excel文档的基础概念
想要操作Exlcle文档以及方便理解,说一下文档在程序中的一些基本概念
- 工作簿(workbook): 一个 Excel 电子表格文档;
- 工作表(sheet): 每个工作簿可以包含多个表, 如: sheet1, sheet2等;
- 活动表(active sheet): 用户当前查看的表;
- 列(column): 列地址是从 A 开始的;
- 行(row): 行地址是从 1 开始的;
- 单元格(cell): 特定行和列的方格;
openxlpy 模块并不是python标准库中的内容,需要进行安装
pip install openxlpy
下面介绍以下openxlpy模块中一些常见的函数和属性
- load_workbook(“路径/文件”),加载Excel文档。
- sheetnames 类型为列表,获取Excel文档中所有的sheet名称
- active 获取当前活跃的sheet名称
- max_row 获取最大行数
- max_column 获取最大列数
以下代码实际演示在实际应用时的场景,Excel文档中内容如下图所示
读取文件获取数据
实例代码
import openpyxl #导入openxlpy
file = openpyxl.load_workbook("1.xlsx") #加载1.xlsx
print(file.sheetnames) //打印Excel文档中所有的表格名称
print(file.active) #打印当前活跃的文档名
sheet = file['people'] #选择名为people的表格
print(sheet.max_row) #打印该表格中最大行数
print(sheet.max_column) #打印该表格中最大列数
print("____________________________________________")
print(sheet.cell(row=1, column=1)) #指定某个表格
print(sheet["A1"]) #指定某个表格
print(sheet.cell(row=1, column=1).value) #打印某个表格的值
print("____________________________________________")
for i in sheet['A']: #打印A列所有内容
print(i.value)
print("____________________________________________")
for b in sheet['1']: 打印第一行所有内容
print(b.value)
运行结果如下所示
写文件操作
以下示例为最基础的示例,但对我个人而言已经够用了。
import openpyxl
file = openpyxl.Workbook() #创建一个工作簿,W大写
print(file.sheetnames) #新建文档默认存在一个Sheet
print(file.active)
sheet = file["Sheet"]
#下面为两种复制方式。
for i in range(1, 10):
sheet.cell(row=1, column=i, value=i)
sheet["A2"] = 15
file.save("3.xlsx") #保存
参考
https://segmentfault.com/a/1190000016256490
https://blog.csdn.net/qq_21391921/article/details/77861482