从 Excel 到 JSON:1898 条航班数据上云记
最近在做微信小程序「飞飞乐航班助手」,数据源是一份秋季度随心飞的 Excel 表格 —— 1898 条航班、11 家航司、161 个城市。小程序没法直接读 Excel,第一步就是把这张大表变成干净、结构化的 JSON。
为什么要清洗
原始表格是人看的,不是程序看的:有空行、合并单元格、日期格式混乱、城市名不统一("北京" vs "北京市")。直接转 JSON 会得到一堆脏数据。
处理思路
# 1. 读取
openpyxl / pandas 读取工作簿
# 2. 清洗
- 去掉空行与备注行
- 统一城市名(去"市/省"后缀)
- 日期统一为 YYYY-MM-DD
- 航司代码规范化
# 3. 输出
按"日期 + 航线"组织成嵌套 JSON
校验:数量 = 1898,城市去重 = 161
关键校验
清洗不是终点,校验才是。我会写断言检查三类问题:
- 数量守恒:输出条数必须等于输入的 1898;
- 去重统计:城市集合去重后应为 161 个;
- 字段完整:每条记录必填字段非空,日期可解析。
数据的价值不在大小,而在干净程度。脏数据再大也只是垃圾的堆叠。
清洗完成后,JSON 直接打进小程序包内,配合筛选、往返/环线/中转查询和地图展示,整个小程序就能跑起来了。下一步会写一下查询模块的实现细节。