• 每日一模块:操作execl表格openpyxl


    常见的模块

    牛人博客传送门

    操作excel

    • openpyxl 处理2010及以后
    • xlwt 老版本

    创建excel文件,然后写入内容

    
    from openpyxl import Workbook
    
    """
    犯得错: 必须所有写完后再关闭
    """
    # write
    wb = Workbook()
    ws = wb.create_sheet('first', 0)
    
    # 获取excel文件的所有sheet以列表返回
    sheet_list = wb.sheetnames
    
    # 获取excel中每个sheet
    for i in wb:
        print(i)
    
    # 直接获取指定sheet对象
    sheet1 = wb['first']
    
    # 指定单元格写入数据
    sheet1['a1'] = '姓名'
    sheet1['b1'] = '年龄'
    
    # 或者通过cell函数来实现
    sheet1.cell(row=2, column=1, value='xxx')
    sheet1.cell(row=2, column=2, value='30')
    
    sheet2 = wb.create_sheet('第二个表格', 1)
    # 如果行内有内容,从下一行空白行开始写入
    # 一次添加1行写入
    row = range(1, 6)
    sheet2.append(row)
    # 一次添加多行
    rows = [
        ['姓名', '年龄', '性别'],
        ['sun', '30', 'male'],
        ['xiu', '30', 'male'],
        ['wen', '30', 'male'],
    ]
    for i in rows:
        sheet2.append(i)
    
    wb.save('manage.xlsx')
    
    

    # 获取有效的【写入内容】最大行和列
    print(sheet2.rows)  # 所有有效行<generator object Worksheet._cells_by_row at 0x000001CA5A275888>
    print(sheet2.columns)  # <generator object Worksheet._cells_by_col at 0x0000026B99345888>
    print(sheet2.max_row)  # 5
    print(sheet2.max_column)  # 5
    
    # 获取每一行数据
    for row in sheet2.rows:
        for val in row:
            print(val.value)
    
    # 获取某一行数据
    for cell in list(sheet2.rows)[0]:  # 第一行数据
        print(cell.value)
    wb.save('manage.xlsx')
    
    

    
    from openpyxl import load_workbook
    
    wb = load_workbook(filename='manage.xlsx', read_only=False, data_only=True)
    # data_only = True  表示单元格的值是由公式计算的,返回的是值,而不是公式
    sheets = wb.sheetnames  # 获取excel文件中所有的sheet名列表
    print(sheets)
    
    sheet = wb['first']  # 指定某个sheet表格
    
    # 获取内容
    val = sheet['a1'].value
    print(val)
    
    # 赋值
    sheet['b2'] = 30
    
    
    sheet.title = '我改变了sheet名'
    wb.save('manage.xlsx')
    
    
  • 相关阅读:
    引用类型之Object类
    原始类型之String类型
    原始类型之Boolean类型
    引用类型之Boolean类
    引用类型之instanceof运算符
    javascript类型转换
    运算符之一元运算符
    Google Sites开始向所有人免费开放 可自由建个人主页
    在线制作"篆体印章",很酷!
    MD5 哈希计算工具类
  • 原文地址:https://www.cnblogs.com/sunxiuwen/p/10267195.html
Copyright © 2020-2023  润新知