python excel 处理 xlrd & xlwt &xlutils

python excel 处理

方案一 xlrd & xlwt &xlutils

使用xlrd 用来读取 xls 文件

xlrd --> xls read

安装
pip install xlrd
使用
import xlrd

book = xlrd.open_workbook("myfile.xls") # 创建读取xls 对象

print("表格文件的sheet页有  {0}".format(book.nsheets))
print("表格文件的sheet页名: {0}".format(book.sheet_names()))
sh = book.sheet_by_index(0) # 选择第一页操作
print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))

for rx in range(sh.nrows): # 按行读取
    print(sh.row(rx))
    
for row in range(sh.nrows):  # 按单元格读取
    for col in ncols range(sh.ncols)
    	print("单元格 内容  {0}".format(sh.cell_value(rowx=row, colx=col)))
注意

不支持以下内容

图表、宏、图片、任何其他嵌入式对象,包括嵌入式工作表。

VBA模块

公式,但会提取公式计算的结果。

评论

超链接

自动筛选、高级筛选、透视表、条件格式、数据验证

不支持受密码保护的文件,此库无法读取这些文件。

1.2.0 1.2.0 1.2.0 以上的版本不支持读取xlsx了很奇怪

image-20220113143140310

2020 的更新中这个库去除了对xls 以外格式的支持而1.2 版本只能支持python3.7

除此之外xlrd 都是好用的

使用xlwt 用来写入 xls 文件

xlwt --> xls write

安装
pip install xlwt
使用
from xlwt import Workbook

book = Workbook(encoding='utf-8') # 创建 Workbook 对象
sheet1 = book.add_sheet('Sheet 1') # 创建sheet页
book.add_sheet('Sheet 2')
sheet1.write(0,0,'A1') # 写入单元格
sheet1.write(0,1,'B1')
row1 = sheet1.row(1)
row1.write(0,'A2')
row1.write(1,'B2')

book.save('simple.xls') # 保存文件

image-20220113151559287

此库17年后就没有更新过了

xlutils :对于xlrd和xlwt 的扩展工具

安装
pip install xlutils 
使用
from xlrd import open_workbook
from xlwt import easyxf
from xlutils.copy import copy
rb = open_workbook('source.xls',formatting_info=True)
rs = rb.sheet_by_index(0)
wb = copy(rb)
ws = wb.get_sheet(0)
plain = easyxf('')
for i,cell in enumerate(rs.col(2)):
 if not i:
 continue
 ws.write(i,2,cell.value,plain)
for i,cell in enumerate(rs.col(4)):
 if not i:
 continue
 ws.write(i,4,cell.value-1000)
wb.save('output.xls')

文档链接

链接:https://pan.baidu.com/s/1aSE9Q9BV2kwt1tmjrh0mCA
提取码:1234
–来自百度网盘超级会员V5的分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值