☰
香港电车供给侧实测:认证维修工场只有 27 家,燃油车是它的 57 倍
2026/9/30 17:21:13 网站建设 项目流程

「电车买得起修不起」上了热搜,「年薪 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.csv,nov_2019,2019 年 11 月。这份「首次登记车辆明细」是那一个月的冻结快照,4,552 台车,一人一行,而且是门户上唯一的一份——没有 2019 年 12 月,没有 2020 年,没有今天。

我在机电署的评级表上遇到过「元数据 2025、内容 2018」的版本;运输署这个更彻底——时间戳直接长在了 URL 里,门户页面却完全不提示。判断一份官方数据新不新鲜,这个清单现在有了第三条:看元数据、看内容里的期数、看文件名。

二、2019 年 11 月:428 台电动车上牌

importcsvfromcollectionsimportCounterwithopen("原始返回/ev/td_firstreg_r0.csv",encoding="utf-8-sig")asfh:rows=[rforrincsv.reader(fh)ifrandany(x.strip()forxinr)]hdr,data=rows[0],rows[1:]i_fuel=hdr.index("Fuel Type")i_class=hdr.index("Vehicle Class")i_ym=hdr.index("Year Of Manufacture")fuel=Counter(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、电动 428(9.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",encoding="utf-8-sig"))ifrandany(x.strip()forxinr)]hdr,d2=ws[0],ws[1:]i_sc=hdr.index("Service Scope")defhas(tag):returnsum(1forrind2iftaginr[i_sc])ic_n,eve_n=has("IC"),has("EVE")print(ic_n,eve_n,round(ic_n/eve_n))me=[rforrincsv.reader(open("原始返回/ev/emsd_mech_r0.csv",encoding="utf-8-sig"))ifrandany(x.strip()forxinr)]h3,d3=me[0],me[1:]i_s3=h3.index("Service Scope")ic_m=sum(1forrind3if"IC"inr[i_s3])eve_m=sum(1forrind3if"EVE"inr[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 之外还有 EVL(118 家)和 EVH(23 家)两个近似代码,做电动车供给统计时要决定算不算它们——代码体系不解释自己,口径选择就是你的编辑决策。

四、同一列三种语义,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",encoding="utf-8-sig"))ifrandany(x.strip()forxinr)]hdr,d2=ws[0],ws[1:]i_mon=hdr.index("Mondays (Open)")i_exp=hdr.index("Expiry Date")kinds=Counter("time"if":"inr[i_mon]else("R"ifr[i_mon]=="R"else"empty")forrind2)print(dict(kinds.most_common()))expired=sum(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 家认证工场」之前,先按到期日自己过滤一遍,这个动作官方没有替你做。

四个要点收尾

  1. 文件名里的日期比元数据诚实:nov_2019长在 URL 上,页面却显示 2026 年更新——三处时间戳(元数据/内容期数/文件名)至少核对两处;
  2. 多选代码的计数是「至少含此标记」:IC 全员注册意味着 57 倍是覆盖对比,写「燃油工场 1,549 家」之前先想口径;
  3. 同一列混住三种语义:空串、时间、状态标记,解析前先数一遍取值分布;
  4. 名单类数据按记录核到期日:1,550 家里 79 家已过期、7,267 人里 424 人已过期,「在册」不等于「有效」。

还有一个口径的边角要交代:EVL 和 EVH 这两个近似代码。从数量看,EVL(118 家工场、432 名技工)体量反而比 EVE 大——如果它们分别对应轻型电动车和混动,把 EVL 并进「电动车供给」会让 57 倍缩到 11 倍左右。并还是不并,取决于代码的真实含义,而代码含义不在数据里。我做审计时选择只认 EVE,正文如实报告这个选择;任何引用本文数字的人,都值得先去机电署页面核对这三个代码的定义,再决定自己的口径。

另外提醒一句引用的边界:本文点名的是代码体系(IC/EVE/EVL/EVH)和分布,没有点名任何一家工场或技工;那 4 家评级 0 分的承建商名单在别的表里,可以查到,但引用带处罚记录的名单做商业对比,法律风险自担。

照例声明:本文只讨论公开数据的口径与工程处理,不构成任何购车、维修或职业选择建议;「57 倍」反映的是认证覆盖的分布,不能单独推出「电动车修车难」的因果——需求侧、工时、设备投入都在数据之外。全部数字可复现,三份文件双轮抓取的原始返回与审计脚本(15 项断言)放在仓库,取数时间 2026-09-29。


参考链接

  1. https://www.td.gov.hk/datagovhk_td/first-reg-vehicle/resources/en/particulars_of_first_registered_vehicle_nov_2019_eng.csv
  2. https://www.emsd.gov.hk/filemanager/en/content_650/dataset/registered_vehicle_maintenance_workshops.csv
  3. https://www.emsd.gov.hk/filemanager/en/content_647/dataset/registered_vehicle_mechanics.csv

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询