zoukankan      html  css  js  c++  java
  • 初识python: xlsxwriter 将数据写入Excel

    使用 xlsxwriter 模块将数据写入excel 。

    #!/user/bin env python
    # author:Simple-Sir
    # time:2020/9/24 12:51
    # 使用 xlsxwriter 将数据写入Excel
    import xlsxwriter
    
    xlsname = 'test.xlsx'  # 定义xlsx文件名称
    xls = xlsxwriter.Workbook(xlsname)  # 创建xlsx文件,若已存在则覆盖。
    
    # 定义sheet名称及各sheet表头字段
    stname_fields_dict = {'第一个sheet': ['日期', '姓名', '年龄'],
                          '第二个sheet': ['日期', 'ID','科目','成绩' ],
                          '测试': ['日期', 'ID','测试名称','测试结果' ]
                          }
    
    st_list=[]  # 定义一个列表用于存储所有要写入excel的数据
    
    # sheet1的数据
    st_list.append([['20200924','小明',22],
               ['20200924','小李',24],
               ['20200924','小王',23]
               ])
    # sheet2的数据
    st_list.append([['20200924','92401','python',89],
                    ['20200924','92402','语文',90],
                    ['20200924','92403','数学',98],
                    ['20200924','92404','英语',96]
                    ])
    # sheet3的数据
    st_list.append([['20200924','ts01','python',89],
                    ['20200924','ts02','语文',90],
                    ['20200924','ts03','数学',98],
                    ['20200924','ts04','英语',96],
                    ['20200924','ts02','语文',90],
                    ['20200924','ts03','数学',98],
                    ['20200924','ts04','英语',96]
                    ])
    
    # 循环写入数据
    for indx_dict,stname_fields in enumerate(stname_fields_dict.values()):  # stname_fields_dict.values() sheet表头字段
        sh_name = list(stname_fields_dict.keys())[indx_dict]
        sheet = xls.add_worksheet(sh_name)  # 添加sheet、stname_fields_dict.keys() sheet名称
        for indx, field in enumerate(stname_fields):
            sheet.write(0, indx, field)  # 写入表头
    
        line_list = st_list[indx_dict]  # 获取sheet数据
        line_count = line_list.__len__()  # 获取数据条数
    
        x = 1  # 从第二行开始写内容
        while x < line_count + 1:
            line = line_list[x - 1]  # 按行顺序遍历
            # 写入各个字段值
            for i, item in enumerate(line):
                if type(item) == type(None):  # 空值处理
                    sheet.write(x, i, '')
                else:
                    sheet.write(x, i, item)  # x 行,i 列, item 值
            x += 1
        print('%s共写入%d条数据。' % (sh_name, line_count))
    xls.close()
    
    print('执行完成!')
    使用 xlsxwriter 将数据写入Excel

    执行结果:

     

     

     

  • 相关阅读:
    MySQL主从半同步复制
    MySQL主从之延时复制
    MySQL备份
    MySQL主从介绍及搭建(异步复制)
    MySQL物理备份Xtrabackup
    MySQL数据库误删除数据恢复
    MySQL--日志
    JAVA日报
    JAVA日报
    JAVA日报
  • 原文地址:https://www.cnblogs.com/simple-li/p/13723647.html
Copyright © 2011-2022 走看看