Python_操作excel

本文介绍了如何使用openpyxl模块在Python中高效操作Excel文件,包括安装步骤、工作簿、工作表和单元格的基本概念,以及重点讲解了写入和读取数据的方法,并对比了xlrd/xlwt模块在处理大型文件时的优势。

模块安装

Python操作excel可以使用openpyxl、xlrd/xlwt模块,二者区别在于xlwt只能操作.xls文件,openpyxl则是针对.xlsx文件。文件较小时,二者差别不明显,但如果操作较大文件时,xlrd/xlwt的速度是优于openpyxl的,本文以openpyxl为例。

pip install openpyxl

Excel数据的类型及组织方式

每一个Excel数据文件从上至下分为三个层级 的对象:
workbook:每一个Excel文件就是一个workbook。
sheet:每一个workbook中可以包含多个sheet,具体就对应Excel中我们在左下脚所看到的“sheet1”,“sheet2”等。
cell:每一个sheet就是我们通常所看到的一个表格,可以含有m行,n列,每个确定的行号,列号所对应的一个格子就是一个cell。

在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。

  • Workbook就是一个excel工作表;
  • Sheet是工作表中的一张表页;
  • Cell就是简单的一个格。

openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。

官方文档:https://openpyxl.readthedocs.io/en/stable/

写操作

book = openpyxl.Workbook()
sheet = book.active  # 获取默认的sheet页
# sheet = book.create_sheet("yyds")  # 创建一个新的sheet页
sheet.append([1,2,3])  # 写一整行
sheet.append([4,5,6])  # 写一整行
sheet.cell(1,1,"编号")  # 指定第一行第一列的单元格内容
book.save("number.xls")  # 保存文件

执行代码后生成的excel文件

 读数据

book = openpyxl.load_workbook("number.xlsx")
sheet = book.active
# sheet = book["Sheet"]  # 指定的sheet
print("总行数:", sheet.max_row)  # 多少行
print("总列数:", sheet.max_column)  # 多少列
print(list(sheet.values))  # 所有行
for v in sheet.values:  # 获取所有行
    print(v)

for col in sheet.columns:  # 获取所有的列
    col = [r.value for r in col]
    print(col)

print(sheet.cell(1, 1).value)  # 获取指定单元格的内容

输入内容:

总行数: 2
总列数: 3
[('编号', 2, 3), (4, 5, 6)]
('编号', 2, 3)
(4, 5, 6)
['编号', 4]
[2, 5]
[3, 6]
编号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值