openpyxl 是一个用于读取、写入和操作 Excel 文件(.xlsx 格式)的 Python 库。以下是一些示例用法:
#迭代遍历工作表中的行和列
from openpyxl import load_workbook
wb = load_workbook(‘example.xlsx’)
ws = wb.active
#遍历行
for row in ws.iter_rows(values_only=True):
print(row)
#遍历列
for col in ws.iter_cols(max_col=2, values_only=True):
print(col)
举例如下:
#导入load_workbook,Workbook包
from openpyxl import load_workbook, Workbook
#修改工作目录至对应的文件夹,拆分后的文件会被保存至此目录
import os
#临时修改工作路径,作为拆分后的文件存储的地方
os.chdir(r"E:\pythonProject\交易对手")
#导入需要拆分的Excel,赋值给wb
wb = load_workbook(r"E:\pythonProject\机构关联方信息20231130.xlsx")
sheetnames = wb.sheetnames
#得到excel中的每个sheet名
for name in sheetnames:
ws = wb.get_sheet_by_name(name)
print(ws)
# 创建新的Excel
wb2 = Workbook()
# 获取当前sheet,调用正在运行的工作表
ws2 = wb2.active
# 两个for循环遍历整个excel的单元格内容
# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
for i, row in enumerate(ws.iter_rows()):
for j, cell in enumerate(row):#行
# 写入新Excel
ws2.cell(row=i + 1, column=j + 1, value=cell.value)
# 设置新Sheet的名称
ws2.title = 'sheet1'
# for r in [1,2,3]: # rowd格式如:[1,3,5],表示要删除第1、3、5共三行。
# ws2.delete_rows(r)
ws2['A1'] = 'itname'
ws2['B1'] = 'creditcode'
wb2.save(name + ".xlsx")
#重置工作目录至原始目录
os.chdir(r"E:\pythonProject")