zoukankan      html  css  js  c++  java
  • openpyxl基本操作

    参考资料:OpenPyXL的使用教程(一)

    openpyxl 基本操作

    from openpyxl import load_workbook, Workbook
    
    # ========
    # 新建工作簿+sheet
    wb = Workbook()  #guess_types=True
    
    #
    filepath = r'e:/aa.xlsx'
    wb = load_workbook(filepath)
    wb.save(filepath)  #如果存在会覆盖,as_template=True, 将文件保存为模板,默认False
    
    # sheet名列表
    #wb.get_sheet_names()  #已弃用
    wb.sheetnames
    [sheet.title for sheet in wb]
    
    # ========
    # 新建sheet
    ws = wb.create_sheet(0) #第一个位置
    ws = wb.create_sheet(title='1', index=1)
    ws.title = 'Sheet1'
    
    # 访问指定sheet
    ws = wb.active  #调用wb._active_sheet_index
    #ws = wb.get_sheet_by_name(sheet_name)  #已弃用
    ws = wb['Sheet1']
    
    ws.rows
    ws.columns
    #ws.sheet_properties.tabColor = "1072BA"  #改变sheet标签栏字体颜色
    
    # 增删改查
    ws['A4'] = 4
    ws.cell('A4')
    c = ws.cell(row = 4, column = 2)
    c.value = 4
    cell_range = ws['A1':'C2']
    #[cell.value for row in ws.iter_rows('A1:C2') for cell in row]
    
    # ========
    dataframe.to_excel(filepath, sheet_name=sheet_name, index=None)
    writer = pd.ExcelWriter(filepath, engine='openpyxl')
    dataframe.to_excel(excel_writer=writer, sheet_name=sheet_name, index=None)
    writer.save()
    writer.close()
    
    # ========
    def excelAddSheet(dataframe, filepath, sheet_name):
        import os
        from openpyxl import load_workbook, Workbook
        
        #FileNotFoundError
        if os.path.exists(filepath):
            #当表名已存在时,后面还可以添加参数,进行追加
            wb = load_workbook(filepath)  #keep_vba=True
            #sheet = book.active
            with pd.ExcelWriter(filepath, engine='openpyxl') as writer:
                writer.book = wb
                #stratrow=1, startcol=1
                dataframe.to_excel(excel_writer=writer, sheet_name=sheet_name, index=None)
            #writer.save()
            #writer.close()
        else:
            dataframe.to_excel(filepath, sheet_name=sheet_name, index=None)
    

      oracle2Excel

    import cx_Oracle
    import openpyxl
    
    # 用户名
    username = 'tj_20160217'
    # 密码
    password = 'tj_20160217'
    # IP
    ip = '10.0.250.19'
    # 端口
    port = '1521'
    # 数据库实例名
    servername = 'starbass'
    # 获取连接
    xlsxPath = 'E:\sysconfigen.xlsx'
    sheetName = 'sysconfigen'
    wb = openpyxl.Workbook()
    ws = wb.active
    ws.title = sheetName
    with cx_Oracle.connect(username + '/' + password + '@' + ip + ':' + port + '/' + servername) as db:
        cur = db.cursor()
        result = cur.execute('select * from sysconfigen')
        row = 1
        column = 1
        # 获取表头
        for header in cur.description:
            ws.cell(row, column).value = header[0]
            column += 1
        row += 1
        for one_result in result.__iter__():
            column = 1
            for at in one_result:
                if at:
                    ws.cell(row, column).value = at
                else:
                    # 空值处理
                    ws.cell(row, column).value = 'null'
                column += 1
            row += 1
    wb.save(xlsxPath)
    

      

    参考资料:https://github.com/a18792721831/StudyPython/tree/master/helloExcel

     
  • 相关阅读:
    Notes of Daily Scrum Meeting(12.18)
    Notes of Daily Scrum Meeting(12.17)
    Notes of Daily Scrum Meeting(12.16)
    Notes of Daily Scrum Meeting(12.8)
    Notes of Daily Scrum Meeting(12.5)
    Notes of Daily Scrum Meeting(12.3)
    Notes of Daily Scrum Meeting(11.12)
    Linux中profile、bashrc、bash_profile之间的区别和联系
    Linux GCC编译
    mysql 5.7.16 远程连接
  • 原文地址:https://www.cnblogs.com/iupoint/p/12009160.html
Copyright © 2011-2022 走看看