香港电车供给侧实测:认证维修工场只有 27 家,燃油车是它的 57 倍
「电车买得起修不起」上了热搜「年薪 30 万的重型车辆维修人才还没毕业就被抢订」也上了热搜——两条热搜指向同一件事电动车的维修供给侧。正好香港有两份官方名单可以把这件事量化运输署的车辆首次登记明细加上机电署的注册维修工场与注册技工名单。三份数据拉出来对照最大的数字是燃油系统IC认证工场 1,549 家、电动车系统EVE认证工场只有 27 家差 57 倍技工一侧是 7,267 人对 281 人差 26 倍。目录一、文件名里嵌着日期元数据里看不出来二、2019 年 11 月428 台电动车上牌三、供给侧57 倍与 26 倍四、同一列三种语义79 家过期工场还在册四个要点收尾一、文件名里嵌着日期元数据里看不出来先说这份运输署数据最要命的一点。它在资料一线通上的元数据最后修改时间是2026 年 8 月 25 日——看起来很新。但你打开文件、甚至只要看一眼它的下载地址particulars_of_first_registered_vehicle_nov_2019_eng.csvnov_20192019 年 11 月。这份「首次登记车辆明细」是那一个月的冻结快照4,552 台车一人一行而且是门户上唯一的一份——没有 2019 年 12 月没有 2020 年没有今天。我在机电署的评级表上遇到过「元数据 2025、内容 2018」的版本运输署这个更彻底——时间戳直接长在了 URL 里门户页面却完全不提示。判断一份官方数据新不新鲜这个清单现在有了第三条看元数据、看内容里的期数、看文件名。二、2019 年 11 月428 台电动车上牌importcsvfromcollectionsimportCounterwithopen(原始返回/ev/td_firstreg_r0.csv,encodingutf-8-sig)asfh:rows[rforrincsv.reader(fh)ifrandany(x.strip()forxinr)]hdr,datarows[0],rows[1:]i_fuelhdr.index(Fuel Type)i_classhdr.index(Vehicle Class)i_ymhdr.index(Year Of Manufacture)fuelCounter(r[i_fuel]forrindata)ev[rforrindataifr[i_fuel]Electric]print(dict(fuel.most_common()))print(len(ev),round(len(ev)/len(data)*100,1),%)print(Counter(r[i_class]forrinev).most_common(2))print(Counter(r[i_ym]forrinev).most_common(2))# {Petrol: 3316, Diesel: 715, Electric: 428, LPG: 93}# 428 9.4 %# [(Private Car, 424), (LGV, 3)]# [(2019, 424), (2018, 4)]那一个月全港首次登记 4,552 台车汽油 3,316、柴油 715、电动 4289.4%、石油气 93。电动的 428 台里 424 台是私家车、424 台是 2019 年出厂——全是当月落地的新车。这是电动车渗透刚起飞时的横截面也是这份公开数据能给你的唯一一块想看 2020 年之后渗透率怎么走这份明细帮不了你它只活在一个月份里。这一节还有三个小坑顺带记下应课税价值Taxable Value不是数字是分箱字符串 300,000 and 500,000四档最贵一档 501 台「额定总重」列 83.5% 的格子是横杠-私家车没有这个属性占位符合法首登状态列是A/B/C1/C2/D/E/F七种字母数字代码CSV 里不带字典——含义要去运输署网站另一处找文件自己解释不了自己。三、供给侧57 倍与 26 倍机电署的两份名单是关键。注册维修工场 1,550 家每家在「Service Scope」里登记了自己能修什么IC内燃机、EVE纯电动、EVL、EVH混动可多选。注册技工 7,267 人同样的代码体系。拆开对比ws[rforrincsv.reader(open(原始返回/ev/emsd_ws_r0.csv,encodingutf-8-sig))ifrandany(x.strip()forxinr)]hdr,d2ws[0],ws[1:]i_schdr.index(Service Scope)defhas(tag):returnsum(1forrind2iftaginr[i_sc])ic_n,eve_nhas(IC),has(EVE)print(ic_n,eve_n,round(ic_n/eve_n))me[rforrincsv.reader(open(原始返回/ev/emsd_mech_r0.csv,encodingutf-8-sig))ifrandany(x.strip()forxinr)]h3,d3me[0],me[1:]i_s3h3.index(Service Scope)ic_msum(1forrind3ifICinr[i_s3])eve_msum(1forrind3ifEVEinr[i_s3])print(ic_m,eve_m,round(ic_m/eve_m))# 1549 27 57# 7267 281 26工场 1,549 : 27技工 7,267 : 281。有一个计数口径要先说清IC是基础项几乎所有技工都注册了它7,267 人全员有 IC所以 57 倍和 26 倍是「覆盖广度」的对比不代表燃油工场只有 IC——多选代码的计数是「至少含此标记」不是「只有此标记」。另外 EVE 之外还有 EVL118 家和 EVH23 家两个近似代码做电动车供给统计时要决定算不算它们——代码体系不解释自己口径选择就是你的编辑决策。四、同一列三种语义79 家过期工场还在册工场名单还有 39 列其中 16 列是营业时间——每周七天加公众假期各配一对「开门/关门」列。实测「周一 (Open)」这一列的三种取值空字符串 1,213 家78.3%、真正的营业时间 336 家、字母 R 1 家。公众假期那列是空 1,216、R 185、时间 102。同一列里「时间值」「状态标记」「没填」三种语义混住解析器必须三态处理——把它们都当时间解析的代码会在这 1,213 个空串上安静地失败。这两件事的验法很直接ws[rforrincsv.reader(open(原始返回/ev/emsd_ws_r0.csv,encodingutf-8-sig))ifrandany(x.strip()forxinr)]hdr,d2ws[0],ws[1:]i_monhdr.index(Mondays (Open))i_exphdr.index(Expiry Date)kindsCounter(timeif:inr[i_mon]else(Rifr[i_mon]Relseempty)forrind2)print(dict(kinds.most_common()))expiredsum(1forrind2ifr[i_exp].strip()andr[i_exp]2026-09-29)print(expired,/,len(d2))# {empty: 1213, time: 336, R: 1}# 79 / 1550名单的记录级时效也要按行核79 家工场的牌照到期日早于今天最早 2026-01-27但它们仍然在册技工名单更宽424 人的注册已过期最早 2026-03-09。名单是「曾注册」的全集还是「在册」的实时视图文件不说明——引用「全港有 X 家认证工场」之前先按到期日自己过滤一遍这个动作官方没有替你做。四个要点收尾文件名里的日期比元数据诚实nov_2019长在 URL 上页面却显示 2026 年更新——三处时间戳元数据/内容期数/文件名至少核对两处多选代码的计数是「至少含此标记」IC 全员注册意味着 57 倍是覆盖对比写「燃油工场 1,549 家」之前先想口径同一列混住三种语义空串、时间、状态标记解析前先数一遍取值分布名单类数据按记录核到期日1,550 家里 79 家已过期、7,267 人里 424 人已过期「在册」不等于「有效」。还有一个口径的边角要交代EVL 和 EVH 这两个近似代码。从数量看EVL118 家工场、432 名技工体量反而比 EVE 大——如果它们分别对应轻型电动车和混动把 EVL 并进「电动车供给」会让 57 倍缩到 11 倍左右。并还是不并取决于代码的真实含义而代码含义不在数据里。我做审计时选择只认 EVE正文如实报告这个选择任何引用本文数字的人都值得先去机电署页面核对这三个代码的定义再决定自己的口径。另外提醒一句引用的边界本文点名的是代码体系IC/EVE/EVL/EVH和分布没有点名任何一家工场或技工那 4 家评级 0 分的承建商名单在别的表里可以查到但引用带处罚记录的名单做商业对比法律风险自担。照例声明本文只讨论公开数据的口径与工程处理不构成任何购车、维修或职业选择建议「57 倍」反映的是认证覆盖的分布不能单独推出「电动车修车难」的因果——需求侧、工时、设备投入都在数据之外。全部数字可复现三份文件双轮抓取的原始返回与审计脚本15 项断言放在仓库取数时间 2026-09-29。参考链接https://www.td.gov.hk/datagovhk_td/first-reg-vehicle/resources/en/particulars_of_first_registered_vehicle_nov_2019_eng.csvhttps://www.emsd.gov.hk/filemanager/en/content_650/dataset/registered_vehicle_maintenance_workshops.csvhttps://www.emsd.gov.hk/filemanager/en/content_647/dataset/registered_vehicle_mechanics.csv