• 使用openpyxl操作excel(二)


    1、修改表格中的内容

    1.1 向某个格子中写入内容并保存

    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet["A1"] = "哈喽"
    workbook.save(filename = "哈喽.xlsx")
    

    1.2 .append():向表格中插入行数据

    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    data = [
          ["唐僧","男","180cm"],
          ["孙悟空","男","188cm"],
          ["猪八戒","男","175cm"],
          ]
    for row in data:
        sheet.append(row)
    workbook.save(filename = "test.xlsx")
    

    1.3 在python中使用excel函数公式

    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet["B1"] = "另一个A1"
    for i in range(2,16):
        sheet["B{}".format(i)] = '=IF(RIGHT(A{},2)="cm",A{},SUBSTITUTE(C{},"m","")*100&"cm")'.format(i,i,i)
    workbook.save(filename = "test.xlsx")
    

    1.4 .insert_cols()和.insert_row():插入空行和空列

    #.insert_cols(idx=数字编号,amount=要插入的列数),插入的位置是在idx列数的左侧插入
    #.insert_rows(idx=数字编号,amount=要插入的行数),插入的位置是在idx行数的下方插入
    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet.insert_cols(idx=4,amount=2)
    sheet.insert_rows(idx=5,amount=4)
    workbook.save(filename = "test.xlsx")
    

    1.5 .delete_rows()和.delete_cols():删除行和列

    #.delete_rows(idx=数字编号,amount=要删除的行数)
    #.delete_cols(idx=数字编号,amount=要删除的行数)
    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet.delete_cols(idx=1)
    sheet.delete_rows(idx=1)
    workbook.save(filename = "test.xlsx")
    

    1.6 .move_range():移动格子

    # .move_range("数据区域",rows=,cols=):正整数为向下或向右、负整数为向左或向上:
    # 向左移动两列,向下移动两行
    sheet.move_range("C1:D4",rows=2,cols=-2)
    

    1.7 .create_sheet():创建新的sheet表格

    # .create_sheet("新的sheet名"):创建一个新的sheet表:
    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    workbook.create_sheet("我是一个新的sheet")
    workbook.save(filename = "test.xlsx")
    

    1.8 .remove():删除某个sheet表

    # .remove("sheet名"):删除某个sheet表:
    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet = workbook['我是一个新的sheet']
    workbook.remove(sheet)
    workbook.save(filename = "test.xlsx")
    

    1.9 .copy_worksheet():复制一个sheet表到另外一张excel表

    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet = workbook['新sheet']
    workbook.copy_worksheet(sheet)
    workbook.save(filename = "test.xlsx")
    

    1.10 sheet.title:修改sheet表的名称

    # .title = "新的sheet表名"
    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet.title = "我是修改后的sheet名"
    

    1.11 创建新的excel表格文件

    from openpyxl import Workbook
    workbook = Workbook()
    sheet = workbook.active
    sheet.title = "表格1"
    workbook.save(filename = "新建的excel表格")
    

    1.12 sheet.freeze_panes:冻结窗口

    # .freeze_panes = "单元格"
    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet.freeze_panes = "C3"
    workbook.save(filename = "test.xlsx")
    

    1.13 sheet.auto_filter.ref:给表格添加"筛选器"

    # .auto_filter.ref = sheet.dimension 给所有字段添加筛选器
    # .auto_filter.ref = "A1" 给A1这个格子添加筛选器,就是给第一列添加筛选器
    from openpyxl import load_workbook
    workbook = load_workbook(filename="test.xlsx")
    sheet = workbook.active
    sheet.auto_filter.ref = sheet["A1"]
    workbook.save(filename = "test.xlsx")
    
  • 相关阅读:
    http1.1长连接实战(一)
    【转】微服务与SOA之间差了一个ESB
    在SpringBoot 1.5.3上使用gradle引入hikariCP
    狮子心
    为啥他们不作为
    Redis 后台运行
    Jquery 动态生成的元素绑定事件
    linux tzselect 设置时区
    Docker 容器内配置Tomcat manager 远程控制
    Docker基于容器创建镜像
  • 原文地址:https://www.cnblogs.com/P-Z-W/p/13634908.html
Copyright © 2020-2023  润新知