• openpyxl的简单使用


    openpyxl

      操作excel的库,只能操作xlxs 文件, xlrd/xlwt这两个库能兼容xls(2003版)

    安装

    pip install openpyxl
    如果excel里面有图片,需要安装图片处理模块
    pip install pillow

    excel的写入

      创建一个工作簿并保存

    from openpyxl import Workbook
    wb = Workbook()
    
    ws1 = wb.create_sheet("Mysheet")  #默认最后一个
    ws2 = wb.create_sheet("Mysheet", index=0) #第一个(工作簿位置)
    
    # 保存
    wb.save('sb.xlsx')

      修改工作簿的名称

    ws1.title = "New Title"

      获取所有工作簿的名称

    print(wb.sheetnames)

      获取其中一个工作簿名称

    for sheet in wb:
        print(sheet)
    wb["New Title"]  #直接获取名称为New Title的工作薄

      写数据

    ws['A4']=4 #这将返回A4处的单元格,如果尚不存在,则创建一个单元格。值可以直接分配
    ws.cell(row=4, column=2, value=10) # 也可以通过cell来进行写入,通过行数和列数来找到单元格所在的位置,通过value来赋值

      append函数

    row = [1 ,2, 3, 4, 5]
    sheet.append(row)

    excel的读取

    from openpyxl import load_workbook  #导入模块
    wb = load_workbook(filename = 'balances.xlsx') #打开文件,默认可读写,若有需要可以指定write_only和read_only为True
    sheet = wb['test2'] #找到工作表
    print(sheet['B4'].value) #输出内容
    # B9处写入平均值
    sheet['B9'] = '=AVERAGE(B2:B8)'
    
    ps:在实例化wb对象时,添加参数data_only=True,返回的“B9”就是数字(但是需要将生成的excel手动保存一次)

    获取最大行,最大列

    print(sheet.max_row)
    print(sheet.max_column)

    获取行和列

    sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。
    sheet.columns类似,不过里面是每个tuple是每一列的单元格。
    
    # 因为按行,所以返回A1, B1, C1这样的顺序
    for row in sheet.rows:
        for cell in row:
            print(cell.value)
    
    # A1, A2, A3这样的顺序
    for column in sheet.columns:
        for cell in column:
            print(cell.value)
  • 相关阅读:
    关键:GridView中的AutoGenerateColumns
    微软Space关门了,代码转到博客园了!
    程序中变量的命名方法
    [转]C#原始类型扩展方法—this参数修饰符
    .net缩放CAD窗口
    【解决】C#工程中ACCESS数据库无法插入数据
    删除扩展数据
    外部启动CAD
    webpack的配置文件entry与output
    es6模块学习总结
  • 原文地址:https://www.cnblogs.com/qq849784670/p/10420390.html
Copyright © 2020-2023  润新知