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)      # =>  ....

六. 遍历所有

  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")

四. 创建表

相关