python对Excel的操作之openpyxl模块

1、openpyxl模块只能作用于xlsx文件,不能操作xls文件。

# 将xls转换为xlsx可以用pywin32模块

import win32com.client as win32
import os
filename = r'test.xls'
Excelapp = win32.gencache.EnsureDispatch('Excel.Application')
workbook = Excelapp.Workbooks.Open(filename)
workbook.SaveAs(filename.replace('xls', 'xlsx'), FileFormat=51)
workbook.Close()
Excelapp.Application.Quit()
# 删除原文件
os.remove(filename)

2 、创建工作簿

import openpyxl

# 创建工作簿
workbook = openpyxl.Workbook()
# 创建工作表
sheet = workbook.create_sheet("test", 0)
# 保存工作簿
workbook.save(r'C:\Users\Administrator\Desktop\test.xlsx')
# 关闭
workbook.close()

openpyxl 保存文件默认是直接替换,如果想保存不同版本文件需要修改文件名或者加时间戳

3、 打开工作簿、复制工作表

# 打开Excle的工作簿
f = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\test.xlsx')
# 复制test工作表
f.copy = f.copy_worksheet(f['test'])
# 修改复制工作表的名称
f.copy.title = "123"
# 保存工作表
f.save(r'C:\Users\Administrator\Desktop\test.xlsx')

4、向工作表里写入数据

# 打开Excle的工作簿
f = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\test.xlsx')

# 设置工作表
sheet = f['test']
sheet.cell(1, 1, 'python')   # 多个数据可以使用循环添加
f.save(r'C:\Users\Administrator\Desktop\test.xlsx')

5、读取Excel中指定的行和列

# 打开工作簿
f = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\test.xlsx')
# 指定工作表
sheet = f['test']
# 指定的行和列
rows = sheet.iter_rows(min_row=1, max_row=10, min_col=1, max_col=5, values_only=True)
for i in rows:
    print(i)

6、读取工作表中所有的数据

# 打开工作簿
f = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\test.xlsx')
# 指定工作表
sheet = f['test']
# 指定的行和列
for i in sheet.rows:
    for j in i:
        print(j.coordinate, j.value, end=" ")
    print()

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值