赞
踩
python 使用 openpyxl 操作 excel
转载自好帖:python自动化办公——python操作Excel、Word、PDF集合大全
from openpyxl import load_workbook from openpyxl.utils import FORMULAE workbook = load_workbook(filename="股吧上证指数模拟.xlsx") #获取Sheet列表名称,例 ['Sheet1'] print(workbook.sheetnames) #通过sheet名称获取表格 sheet = workbook["Sheet1"] print(sheet) #获取表格的尺寸大小(几行几列数据),例如:A1:H11 (str) print(sheet.dimensions) #获取表格内某个格子的数据 print(sheet["A1"].value) print(sheet.cell(row = 1,column = 1).value) #获取某个格子的行数、列数、坐标 print(sheet["A1"].row, sheet["A1"].column, sheet["A1"].coordinate) # 获取一系列格子,获取 A1:C2 区域的值 cell = sheet["A1:C2"] #只想获取A列 sheet["A"] sheet["A:C"]获取 A,B,C 三列的数据,sheet[5]只获取第 5 行的数据 print(cell) for i in cell: for j in i: print(j.value) #.iter_rows()方式,.iter_cols()方式,按行读取,按列读取 # 按行 for i in sheet.iter_rows(min_row=2, max_row=5, min_col=1,max_col=2): for j in i: print(j.value) # 按列 for i in sheet.iter_cols(min_row=2, max_row=5, min_col=1,max_col=2): for j in i: print(j.value) #另保存 #sheet["A1"]="新修改" #workbook.save(filename = "Test.xlsx") #append追加操作 #sheet.append(row)#row为追加的一行(列表) #使用excel函数公式,例如 =IF(RIGHT(C2,2)="cm",C2,SUBSTITUTE(C2,"m","")*100&"cm") print(FORMULAE) #支持的函数 for i in range(2,16): sheet["D{}".format(i)] ='=IF(RIGHT(C{},2)="cm",C{},SUBSTITUTE(C{},"m","")*100&"cm")'.format(i,i,i) workbook.save(filename = "test.xlsx") #.insert_cols()和.insert_rows():插入空行和空列 sheet.insert_cols(idx=4,amount=2) #idx=数字编号, amount=要插入的列数,插入的位置是在 idx 列数的左侧插入 sheet.insert_rows(idx=5,amount=4) #idx=数字编号, amount=要插入的行数,插入的行数是在 idx 行数的下方插入 workbook.save(filename = "test1.xlsx") # 删除第一列,第一行 sheet.delete_cols(idx=1) sheet.delete_rows(idx=1)
作者的文档太棒了我不得不把其他的内容也贴上,以备用到查询:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。