初识python 之 xlsxwriter将数据导入excel并设置格式

数据准备

1、打开excel随机成0到10000之前数据  =RANDBETWEEN(0,10000)

2、把数据放入txt

 

 

 实现代码

 1 #!/user/bin env python
 2 # author:Simple-Sir
 3 # create_time: 2022/7/8 11:52
 4 import xlsxwriter
 5 
 6 # 表头格式
 7 title_format = {
 8     'border': 1,
 9     'font_name': '微软雅黑',  # 字体
10     'font_size': 10,  # 字体大小
11     'font_color': 'black',  # 字体颜色
12     'bold': True,  # 是否粗体
13     'align': 'center',  # 水平居中对齐
14     'valign': 'vcenter'  # 垂直居中对齐
15 }
16 
17 # 数据格式
18 data_format = {
19     'border': 1,
20     'font_name': '微软雅黑',  # 字体
21     'font_size': 10,  # 字体大小
22     'font_color': 'black',  # 字体颜色
23     'align': 'center',  # 水平居中对齐
24     'valign': 'vcenter'  # 垂直居中对齐
25 }
26 
27 # 表头格式二,标红
28 title_format_red = {
29     'border': 1,
30     'font_name': '微软雅黑',  # 字体
31     'font_size': 10,  # 字体大小
32     'font_color': 'red',  # 字体颜色
33     'bold': True,  # 是否粗体
34     'align': 'center',  # 水平居中对齐
35     'valign': 'vcenter'  # 垂直居中对齐
36 }
37 
38 workbook = xlsxwriter.Workbook('活动统计数据.xlsx')
39 sheet = workbook.add_worksheet('活动统计')  # 添加sheet
40 
41 # 设置列宽
42 sheet.set_column('A:A', 9)
43 sheet.set_column('B:B', 5)
44 sheet.set_column('C:V', 7)
45 
46 # 表头
47 fields = ['统计时间', '分省', '当日UV', '当日PV', '累积UV', '累积PV', '当日UV', '当日PV', '累积UV', '累积PV', '当日UV', '当日PV', '累积UV', '累积PV',
48           '当日UV', '当日PV', '累积UV', '累积PV', '当日UV', '当日PV', '累积UV', '累积PV']
49 
50 # 添加表头
51 for fk, field in enumerate(fields):
52     sheet.write(1, fk, field,workbook.add_format(title_format))  # 添加表头,从第二行插入(后续会合并单元格),并设置单元格格式为上面定义的 title_format
53 
54 # 读取数据
55 with open('datas.txt', 'r', encoding='utf-8') as f:
56     lines = f.readlines()
57     for k, v in enumerate(lines):
58         lines[k] = v.replace('\n', '').split('\t')  # 替换掉换行符、并转换为列表(一条数据为一个元素)
59 
60 # 写入excle
61 # 从第三行开始写入内容
62 for lk, lv in enumerate(lines):
63     for k, v in enumerate(lv):
64         if type(v) == type(None):
65             sheet.write(lk + 2, k, '', workbook.add_format(data_format))
66         else:
67             sheet.write(lk + 2, k, v, workbook.add_format(data_format))
68 
69 #  合并单元格
70 sheet.merge_range('A1:A2', '统计时间', workbook.add_format(title_format))
71 sheet.merge_range('B1:B2', '分省', workbook.add_format(title_format))
72 sheet.merge_range('C1:F1', '活动一', workbook.add_format(title_format))
73 sheet.merge_range('G1:J1', '活动二', workbook.add_format(title_format))
74 sheet.merge_range('K1:N1', '活动三', workbook.add_format(title_format_red))
75 sheet.merge_range('O1:R1', '活动四', workbook.add_format(title_format_red))
76 sheet.merge_range('S1:V1', '活动五', workbook.add_format(title_format_red))
77 
78 workbook.close()
xlsxwriterToExcel

执行结果

 

posted on 2022-07-08 12:06  Simple-Sir  阅读(587)  评论(0编辑  收藏  举报

导航