初识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

 

执行结果:

 

 

 

 

 

 

 

posted on 2020-09-24 13:34  Simple-Sir  阅读(1325)  评论(0编辑  收藏  举报

导航