全臺灣最富有的鄉鎮村里(2026年)

一言以蔽之:新竹市東區關新里七連霸全臺最富里。

最新的「綜合所得稅申報初步核定統計專冊」已於六月卅日公佈,這是統計2024年1月1日至12月31日的綜合所得總額,不包含分離課稅、免稅及非課稅所得。

扣除納稅單位小於10戶的,那麼臺灣前二十名(按照中位數排名)的鄉鎮村里如下表格。

縣市鄉鎮村里今年名次去年名次納稅單位(戶)PR75第三分位數(萬元)平均數(萬元)PR50中位數(萬元)PR25第一分位數(萬元)
新竹市東區關新里112058587.1459.2343.4154.6
新竹市東區龍山里224711462.7342.0248.994.7
新竹縣竹北市東平里336544454.9343.6235.994.6
新竹縣竹北市隘口里452162414.0322.8224.880.9
新竹市東區埔頂里544214390.8287.9218.484.7
新竹縣竹北市鹿場里665266414.4325.1200.372.0
新竹縣竹北市北興里783751357.8267.4197.187.6
新竹縣竹北市中興里874346428.4332.0186.464.5
新竹市東區東勢里991872352.4263.5179.861.6
臺南市善化區蓮潭里10102486306.2227.6178.177.0
新竹縣竹北市東興里11124396308.0233.6161.668.2
新竹縣竹北市十興里12113354307.9240.8161.064.0
新竹市東區仙水里13172453322.0229.6152.749.3
新竹縣竹北市中崙里14133313325.4245.4149.655.7
新竹市東區東園里15152555292.7219.4146.155.5
新竹縣竹北市斗崙里16143633296.3243.5139.653.8
新竹市東區豐功里17161813343.8265.3130.342.5
新竹市東區光明里18181209282.3231.7126.047.6
新竹縣寶山鄉寶山村19436288.2220.3119.148.1
臺北市內湖區寶湖里20203997276.2238.8118.446.8

如果看平均數的話,那麼今年的冠軍換地方了,新竹市東區關新里擠下去年的榜首臺北市松山區中華里,重返榮耀寶座。不過我們也知道,去年中華里的中位數還不到一百萬元,純粹只是有少數(甚至是單一個)極大戶遷入中華里而已,所以關新里才是真正的最富里。

關新里有多均富呢?連其PR25的第一分位數,也就是關新里連『最窮的四分之一族群』,年收入都有154.6萬元,超過第二名的新竹縣竹北市東平里94.7萬元,足足有約60萬元之多。

前九名的富有里都是位於新竹科學園區週邊,第十名則是在臺南科學園區週邊。第十一名~第十九名仍然是在新竹科學園區週邊,而第二十名則是在內湖科技園區週邊。

今年退出前二十名榜單的是新竹縣竹北市興安里,興安里前年是第十七名、去年是第十九名、今年是第二十一名。

今年新加入前二十名榜單的是新竹縣寶山鄉寶山村,這主要是受惠於台積電全球研發中心座落在這裡,所以許多台積電的員工也就近居住。

備註:2025年全臺灣最富有的鄉鎮村里請參考連結。


最後,教大家如何取得這些資料。

將網頁上的原始資料抓下來解壓縮後,裡面有113_165-A.html、113_165-B.html……113_165-Z.html,這就是各縣市鄉鎮村里統計分析表。

接著使用程式分析一下html文字檔案,就可以得到上面的這些表格了。下面這段小程式是用C語言來實現的,將編譯後的執行檔與111_163-*.html放在同一個目錄,雙擊執行檔就可以列印出以TAB分隔的文字檔,再將文字複製貼上Microsoft Excel,即可排序。(今年的html格式有點變,所以從2024年的程式稍微改一下。)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static void *str_copy(char *dst, char *str)
{
char *ptr;

ptr = dst;
while (*str)
{
if (*str != ' ') /* ignore ' ' */
{
*ptr = *str;
ptr++;
}
str++;
}
*ptr = '\0';
}

static void parse_html(char *fpath)
{
FILE *fp;
char *ptr1, *ptr2;
char buf[1024], buf0[1024];
char city[1024], area[1024];

if (!(fp = fopen(fpath, "r")))
{
printf("%s does not exist.\n", fpath);
return;
}

while (fgets(buf, sizeof(buf), fp))
{
if (ptr1 = strstr(buf, "縣市別:"))
{
ptr1 += 12;
if (ptr2 = strchr(ptr1, '<'))
*ptr2 = '\0';
str_copy(city, ptr1);
}
else if (strstr(buf, "納稅單位") || strstr(buf, "綜合所得總額") ||
strstr(buf, "平均數") || strstr(buf, "中位數") ||
strstr(buf, "第一分位數") || strstr(buf, "第三分位數") ||
strstr(buf, "標準差") || strstr(buf, "變異係數") || strstr(buf, "註:本統計"))
{
continue;
}
else if (ptr1 = strstr(buf, "font-size: 14px; line-height: 1.1992188;\">"))
{
ptr1 += 42;
if (ptr2 = strchr(ptr1, '<'))
*ptr2 = '\0';
if (strstr(buf0, "pointer-events: auto"))
{
strcpy(area, ptr1);
}
else
{
if (*ptr1 >= '0' && *ptr1 <= '9')
printf("\t%s", ptr1);
else
printf("\n%s%s%s", city, area, ptr1);
}
}
strcpy(buf0, buf);
}

printf("\n");
fclose(fp);
}

int main()
{
int ch;
char fpath[128];

printf("縣市鄉鎮村里\t納稅單位\t綜合所得總額\t平均數\t中位數"
"\t第一分位數\t第三分位數\t標準差\t變異係數");

for (ch = 'A'; ch <= 'Z'; ch++)
{
if (ch == 'L' || ch == 'R' || ch == 'S' || ch == 'Y') /* 台中縣/台南縣/高雄縣/陽明山 */
continue;

sprintf(fpath, "113_165-%c.html", ch); /* 113是年份 */
parse_html(fpath);
}

return 0;
}