数据准备
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('test.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
执行结果

原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/273120.html