ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-07-08 12:35:16  阅读:232  来源: 互联网

标签:UV sheet format python xlsxwriter title excel add workbook


数据准备

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

执行结果

 

标签:UV,sheet,format,python,xlsxwriter,title,excel,add,workbook
来源: https://www.cnblogs.com/simple-li/p/16457794.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有