点击“蓝字” 关注我们您好,恭喜您在AI时代关注了数程思维派,我是秦老师。
我们聚焦学以致用与创新,“AI驾驭者”帮助孩子构建驾驭AI而非被替代的能力。
本次Python实战项目是一款双色球历史数据爬取与分析工具,最终能实现从福彩官网爬取指定期数(默认100期)的真实开奖数据,完成数据查看、Excel保存、数据统计分析三大核心功能,还配有可视化图形界面。

我们全程有AI助手陪伴,既能做出可直接操作的桌面程序,还能系统学到爬虫、GUI(图形界面)开发、数据处理等技能,锻炼逻辑思维和问题解决能力。
在上一讲中,我们已经成功创建了空白Excel文件和表格表头,完成了Excel生成的基础工作。
本节课我们将完善Excel生成功能,将解析后的双色球数据填入表格,设置单元格样式(边框、居中),并将函数绑定到“生成Excel文件”按钮,实现点击按钮生成完整数据表格的功能。
点击按钮后,生成包含完整双色球数据的Excel表格,可打开查看表格内容。
1. 回顾相关函数:
明确get_history_datas()函数可获取整理后的双色球数据字典,clear_text_widget()函数可清空文本框,为数据填入做准备。
2. 设置单元格样式:
在savedatas_to_ex()函数中,创建单元格样式对象,设置居中对齐、边框样式,让表格内容更整齐、更美观。
3. 填入数据到表格:
遍历数据字典,将期数填入第一列,红球和蓝球分别填入对应列,根据球号匹配表格位置,确保数据填入正确。
4. 绑定函数到按钮:
将savedatas_to_ex()函数绑定到“生成Excel文件”按钮,测试交互效果,点击按钮生成完整数据表格,完成后截图保存可视化成果。
项目完整代码,请参照文末方式获取。
# 双色球分析工具 - 第13讲核心代码# 功能:将双色球数据填入Excel表格,设置单元格样式,绑定按钮import xlwtimport osimport tkinter as tk# 延续前面代码,get_history_datas、clear_text_widget等函数已创建(省略重复代码)def savedatas_to_ex(): clear_text_widget() # 清空文本框,用于显示保存提示 data_dict = get_history_datas() # 获取双色球数据字典 today = get_time() excel_path = os.path.join(os.path.dirname(__file__), f'{today}历史数据.xlsx') wb = xlwt.Workbook() she = wb.add_sheet("彩票") # 设置单元格样式:居中对齐、添加边框 al = xlwt.Alignment() al.horz = xlwt.Alignment.HORZ_CENTER # 水平居中 al.vert = xlwt.Alignment.VERT_CENTER # 垂直居中 borders = xlwt.Borders() borders.left = borders.right = borders.top = borders.bottom = xlwt.Borders.THIN # 实线边框 # 表头样式(加粗、居中、边框) font0 = xlwt.Font() font0.bold = True style0 = xlwt.XFStyle() style0.font = font0 style0.alignment = al style0.borders = borders # 红球数据样式(红色、居中、边框) font1 = xlwt.Font() font1.colour_index = 2 # 红色 style1 = xlwt.XFStyle() style1.font = font1 style1.alignment = al style1.borders = borders # 设置表头 she.write(0, 0, "期数\\彩票", style0) for i in range(1, 34): she.write(0, i, i, style0) for j in range(1, 17): she.write(0, j + 33, j, style0) # 调整列宽 for k in range(1, 50): she.col(k).width = 256 * 3 # 将数据填入表格 i = 1 # 从第1行开始填入数据(第0行为表头) for key, value in data_dict.items(): she.write(i, 0, key, style0) # 填入期数 values = value.split(",") # 拆分红球和蓝球 red_list = values[0:-1] # 红球列表 lan = int(values[-1]) # 蓝球号码 # 填入红球 for hong in red_list: hong = int(hong) she.write(i, hong, hong, style1) # 填入蓝球 she.write(i, lan + 33, lan, style1) i += 1 # 写下一行 wb.save(excel_path) # 在文本框显示保存提示 text_widget.insert('insert', "数据已保存: " + excel_path + "\n")# 绑定函数到“生成Excel文件”按钮(修改第6讲按钮代码)ex_button = tk.Button(root, text='生成Excel文件', width=12, cursor='heart', command=savedatas_to_ex)ex_button.grid(row=1, column=0, sticky="W", padx=80, pady=5)
1. 优化单元格样式,给蓝球数据设置不同颜色,与红球区分更明显;
2. 添加Excel保存成功的弹窗提示,替代文本框提示,提升交互友好度,让用户更直观地知道文件已保存。
“我正在完善双色球分析工具的Excel功能,已经能将数据填入表格,但红球和蓝球颜色一样,而且保存成功后只有文本框提示。
麻烦帮我优化代码,给蓝球数据设置蓝色字体,添加保存成功的弹窗提示,给出可直接替换的代码,注释简单易懂,适合小朋友操作。”
太棒啦!你成功实现了“点击按钮-生成完整数据Excel”的功能,让你的程序具备了数据保存的核心实用价值,再也不用担心数据丢失了!这是你从“数据显示”到“数据管理”的重要跨越。
AI可以帮你优化表格样式和交互提示,让你的程序更贴心、更专业。
大胆向AI提出你的想法,主动设计你想要的表格效果和交互方式,让AI辅助你完善代码,你会慢慢成为能独立开发实用程序的小高手!
本节课我们重点学习了xlwt库的单元格样式设置和数据填入方法,掌握了函数与按钮的绑定逻辑,成功完善了Excel生成功能,实现了数据的保存与可视化表格展示。
从技术层面,我们学会了单元格对齐、边框、字体颜色的设置,理解了数据与表格位置的匹配逻辑;
从能力层面,我们锻炼了逻辑思维和细节处理能力,学会了将复杂的“数据填入”任务拆解为“设置样式-填入表头-填入数据”三个步骤,培养了问题拆解能力。
从教育角度,这契合算法思维中“分步实现、逐步完善”的核心逻辑,表格数据的填入过程,也强化了孩子的对应思维和条理性,让孩子深刻体会到“编程解决实际数据管理问题”的乐趣和价值,为后续数据统计分析打下基础。
关注公众号,发送关键词“双色球”,免费获取本项目完整代码。数程思维派|专业创造未来
秦老师,211高校计算机专业全日制硕士研究生学历,学信网可查。蓝桥STEM优秀指导教师(证书编号:STEMA160529),拥有多年青少年科技教育一线教学经验,学生曾多次在各类权威科技竞赛中斩获优异成绩。覆盖Scratch/Python/C++编程学习全阶段,接轨CCF/CIE考级竞赛,从基础入门到赛事冲刺,为孩子提供持续、系统的专业指导。数程小达人、AI驾驭者、赛考科学家,拒绝千篇一律的统一课程,对孩子因材施教,让孩子学有所得。欢迎留言了解课程详情。