• Python使用openpyxl模块操作Excel表格


    '''
    Excel文件三个对象
    
    workbook: 工作簿,一个excel文件包含多个sheet。
    sheet:工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。
    cell: 单元格,存储数据对象
    '''
    
    import openpyxl
    from openpyxl import Workbook, load_workbook
    
    wb = Workbook()
    ws1 = wb.active  # active方法得到第一个sheet
    ws2 = wb.create_sheet('MySheet1')   # 插入到最后default
    ws3 = wb.create_sheet('MySheet3', 2)   # 插入到制定位置,0表示最前面
    
    ws1.title = 'newSheet1'   # 创建的sheet的名称会自动创建,按照sheet,sheet1,sheet2自动增长,通过title属性可以修改其名称
    ws4 = wb.create_sheet(title='Sheet4')
    ws4.sheet_properties.tabColor = "1072BA"
    # 默认的sheet的tab是白色的,可以通过 RRGGBB颜色来修改sheet_properties.tabColor属性从而修改sheet tab按钮的颜色:
    # 当你设置了sheet的名称,可以将其看成workbook中的一个key。也可以使用openpyxl.workbook.Workbook.get_sheet_by_name() 方法
    
    # 单元格赋值,3种方式
    ws4.cell(row=2, column=3, value=100)
    ws4.cell(row=2, column=4).value = 200
    ws4['E2'] = 300
    
    ws4.cell(3, 3, 666)
    
    # ws.append(iterable)
    # 添加一行到当前sheet的最底部(即逐行追加从第一行开始) iterable必须是list,tuple,dict,range,generator类型的。 1,如果是list,将list从头到尾顺序添加。 2,如果是dict,按照相应的键添加相应的键值
    # ws.append([‘This is A1’, ‘This is B1’, ‘This is C1’])
    # ws.append({‘A’: ‘This is A1’, ‘C’: ‘This is C1’})
    # ws.append({1: ‘This is A1’, 3: ‘This is C1’})
    
    
    
    
    tableTitle = ['age' , 'name' , 'sex']
    
    line1 = ['18', 'John', 'M']
    line2 = ['20', 'Helen', 'F']
    
    for col in range(len(tableTitle)):
        c = col + 1
        ws1.cell(row=1, column=c).value = tableTitle[col]
    
    
    excel1 = load_workbook('E:/test01.xlsx')
    excel2 = load_workbook('E:/test02.xlsx')
    # print(excel1.sheetnames)
    sheetname1 = excel1.sheetnames[-1]
    sheetname2 = excel2.sheetnames[-1]
    
    # t1 = excel1[sheetname1]
    t1 = excel1['sheetl']
    t2 = excel2[sheetname2]
    
    t1['D2'] = 'hello'
    
    for i in range(10):
        t1["C%d" % (i+1)].value = i + 1
    
    t1['E1'].value = "=SUM(C7:C8)"
    
    
    t1.append(line1)
    t1.append(line2)
    
    print(t1['E1'].value)
    excel1.save('E:/new01.xlsx')
    
    
    
    # print("A列:", t1['A'])
    # print("1行:", t1['1'])
    # print("B6格的值:", t1['B6'].value)
    # print("A4格的值:", t1.cell(row=4, column=1).value)   # 可简写为 t1.cell(4,1).value
    #
    # 需写入的表,再打开的状态下是不能成功执行代码的
    
    # 先用load_workbook读取一个excel,修改之后save成原来的文件,会报错:PermissionError: [Errno 13]
    
    
    # print("最大行数:", t1.max_row)
    # print("最大列数:", t1.max_column)
    # print("最小列数:", t1.min_column)
    # print("
    ")
    # print("B列的值为:")
    # for i in t1['B']:
    #     print(i.value, end='
    ')
    
    print("
    ")
    print("表格内容如下:")
    for r in range(t1.max_row):
        r += 1
        for c in range(t1.max_column):
            c += 1
            print(t1.cell(r, c).value, end="	")   # 使用end实现不换行输出
        print("
    ")
    
    # for row in t1.iter_rows(min_col=1, min_row=1, max_col=3, max_row=3, values_only=True):
    #     for cell in row:
    #         print(cell, end='
    ')
  • 相关阅读:
    Github挂载大文件解决方案
    UWP 更强大的文件获取能力
    UWP 打开系统设置面板
    Windows 10
    Flutter
    Android笔记(三):View一些值得注意的地方
    Android笔记(二):savedIndstanceState 和 Bundle
    Android笔记(一):this 的表示范围和 Context
    用atom写LaTeX文档
    博客园LaTeX数学公式功能及效果展示
  • 原文地址:https://www.cnblogs.com/karl-python/p/14481372.html
Copyright © 2020-2023  润新知