openpyxl模块笔记 操控.xlsx文件 电子表格
一. 导入模块
import openpyxl
打开文件
wb = openpyxl.load_workbook("---.xlsx")
获取工作表名
wb.get_sheet_names() -----> ["sheet1", "sheet2", "sheet3"]
获取工作表对象
sheet = wb.get_sheet_by_name("sheet3")
获取工作表名
sheet.title
二. 创建文件
form openpyxl import Workbook W大写
wb = Workbook()
ws = wb.active # 激活worksheet
wb2 = openpyxl.load_workbook("文件名称.xlsx")
三. 创建表
ws1 = wb.create_sheet("Mysheet") # 插入到最后
ws2 = wb.create_sheet("Mysheet", 0) # 插入到开始
四. 选择表
ws3 = wb["New Title"]
ws4 = wb.get_sheet_by_name("New Title")
ws is ws3 is ws4 => true
print(wb.sheetnames) => ["Sheet2", "New Title", "Sheet1"] # 查看表名
for sheet in wb: # 遍历所有表
print(sheet.title)
五. 访问单元格(cell)
c = ws["A4"].value
d = ws.cell(row=4, column=2).value
for i in range(1, 101):
for j in range(1, 101):
ws.cell(row=i, column=j)
cell_range = ws["A1":"C2"] # 单元格切片
colC = ws["C"] # 获取C列对象
col_range = ws["C:D"] # 获取C列到D列对象
row10 = ws[10] # 获取第10行对象
row_range = ws[5:10] # 获取第5行到第10行对象
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2): # 通过制定的返回 行-> 行
for cell in row:
pint(cell) # => <cell Sheet1.A1> <cell Sheet1.B1>....
六. 遍历所有
ws = wb.active
ws["c9"] = "hello world"
tuple(ws.rows) # 按行遍历所有单元格
tuple(ws.columns) # 按列遍历所有单元格
sheet.max_row # 获取最大行号
sheet.max_column # 获取对大列号
sheet.rows # 获取每一行, 每一行一个tuple包裹
sheet.columns # 获取每一列, 每一列一个tuple包裹
for row in sheet.rows: # 遍历每一个单元格, 先行 后列
for cell in row:
print(cell.value) # A1->B1->C1... ... A2->B2->C2......
七. 存储数据
ws["A1"] = 42
ws.cell(row=4, column=2, value=10)
ws.append([1, 2, 3])
ws["A3"] = datetime.datetime.now().strftime("%Y-%m-%d")
wb.save("文件名称.xlsx")
四. 创建表