{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import arcpy #要用arcgis pro開\n",
    "import os\n",
    "\n",
    "# 設定路徑 (改這邊就好了)\n",
    "source_workspace = r\"C:\\Users\\johnnychan\\Desktop\\GIS\\113年衛判圖資_151_20250324提供\\113年衛判圖資_151_20250324提供\"\n",
    "dest_gdb = r\"C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\"    #new project所建立之\n",
    "merge_gdb = r\"C:\\Users\\johnnychan\\Desktop\\GIS\\2024.gdb\"         #new geodatabase所建立，用來儲存結果\n",
    "output_name = r\"農業土地覆蓋_衛判_會籍地_2024\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已處理 CH20240小麥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240小麥 並更新欄位完成\n",
      "已處理 CH20240洋蔥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240洋蔥 並更新欄位完成\n",
      "已處理 CH20240甘藍_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240甘藍 並更新欄位完成\n",
      "已處理 CH20240甘藷_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240甘藷 並更新欄位完成\n",
      "已處理 CH20240胡蘿蔔_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240胡蘿蔔 並更新欄位完成\n",
      "已處理 CH20240蒜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240蒜 並更新欄位完成\n",
      "已處理 CH20240蕎麥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240蕎麥 並更新欄位完成\n",
      "已處理 CH20240蘿蔔_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20240蘿蔔 並更新欄位完成\n",
      "已處理 CH20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20241水稻 並更新欄位完成\n",
      "已處理 CH20241甘藷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20241甘藷 並更新欄位完成\n",
      "已處理 CH20241落花生.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20241落花生 並更新欄位完成\n",
      "已處理 CH20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20241西瓜 並更新欄位完成\n",
      "已處理 CH20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20242水稻 並更新欄位完成\n",
      "已處理 CH20242甘藷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20242甘藷 並更新欄位完成\n",
      "已處理 CH20242落花生.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20242落花生 並更新欄位完成\n",
      "已處理 CH20243山藥.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20243山藥 並更新欄位完成\n",
      "已處理 CH20243荖藤.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20243荖藤 並更新欄位完成\n",
      "已處理 CH20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CH20243鳳梨 並更新欄位完成\n",
      "已處理 CY20240大芥菜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240大芥菜 並更新欄位完成\n",
      "已處理 CY20240水蕹菜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240水蕹菜 並更新欄位完成\n",
      "已處理 CY20240牛蒡_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240牛蒡 並更新欄位完成\n",
      "已處理 CY20240玉米_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240玉米 並更新欄位完成\n",
      "已處理 CY20240甘藍_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240甘藍 並更新欄位完成\n",
      "已處理 CY20240甜瓜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240甜瓜 並更新欄位完成\n",
      "已處理 CY20240蘿蔔_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240蘿蔔 並更新欄位完成\n",
      "已處理 CY20240青花菜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240青花菜 並更新欄位完成\n",
      "已處理 CY20240馬鈴薯_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20240馬鈴薯 並更新欄位完成\n",
      "已處理 CY20241毛豆.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20241毛豆 並更新欄位完成\n",
      "已處理 CY20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20241水稻 並更新欄位完成\n",
      "已處理 CY20241荷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20241荷 並更新欄位完成\n",
      "已處理 CY20241蜀黍_高梁.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20241蜀黍_高梁 並更新欄位完成\n",
      "已處理 CY20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20241西瓜 並更新欄位完成\n",
      "已處理 CY20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20242水稻 並更新欄位完成\n",
      "已處理 CY20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\CY20243鳳梨 並更新欄位完成\n",
      "已處理 HC20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HC20241水稻 並更新欄位完成\n",
      "已處理 HC20241甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HC20241甘藍 並更新欄位完成\n",
      "已處理 HC20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HC20242水稻 並更新欄位完成\n",
      "已處理 HC20242甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HC20242甘藍 並更新欄位完成\n",
      "已處理 HL20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20241水稻 並更新欄位完成\n",
      "已處理 HL20241水芋.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20241水芋 並更新欄位完成\n",
      "已處理 HL20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20241西瓜 並更新欄位完成\n",
      "已處理 HL20241龍鬚菜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20241龍鬚菜 並更新欄位完成\n",
      "已處理 HL20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20242水稻 並更新欄位完成\n",
      "已處理 HL20242西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20242西瓜 並更新欄位完成\n",
      "已處理 HL20243金針菜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20243金針菜 並更新欄位完成\n",
      "已處理 HL20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\HL20243鳳梨 並更新欄位完成\n",
      "已處理 IL20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\IL20241水稻 並更新欄位完成\n",
      "已處理 IL20241甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\IL20241甘藍 並更新欄位完成\n",
      "已處理 IL20241蔥.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\IL20241蔥 並更新欄位完成\n",
      "已處理 IL20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\IL20241西瓜 並更新欄位完成\n",
      "已處理 IL20242甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\IL20242甘藍 並更新欄位完成\n",
      "已處理 IL20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\IL20243鳳梨 並更新欄位完成\n",
      "已處理 KH20240毛豆_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20240毛豆 並更新欄位完成\n",
      "已處理 KH20240洋蔥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20240洋蔥 並更新欄位完成\n",
      "已處理 KH20240紅豆_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20240紅豆 並更新欄位完成\n",
      "已處理 KH20240花椰菜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20240花椰菜 並更新欄位完成\n",
      "已處理 KH20241毛豆.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20241毛豆 並更新欄位完成\n",
      "已處理 KH20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20241水稻 並更新欄位完成\n",
      "已處理 KH20241苦瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20241苦瓜 並更新欄位完成\n",
      "已處理 KH20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20241西瓜 並更新欄位完成\n",
      "已處理 KH20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20242水稻 並更新欄位完成\n",
      "已處理 KH20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\KH20243鳳梨 並更新欄位完成\n",
      "已處理 ML20240草莓_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\ML20240草莓 並更新欄位完成\n",
      "已處理 ML20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\ML20241水稻 並更新欄位完成\n",
      "已處理 ML20241水芋.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\ML20241水芋 並更新欄位完成\n",
      "已處理 ML20241甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\ML20241甘藍 並更新欄位完成\n",
      "已處理 ML20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\ML20242水稻 並更新欄位完成\n",
      "已處理 ML20242甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\ML20242甘藍 並更新欄位完成\n",
      "已處理 ML20242甘藷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\ML20242甘藷 並更新欄位完成\n",
      "已處理 NP20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NP20241水稻 並更新欄位完成\n",
      "已處理 NP20241甘藷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NP20241甘藷 並更新欄位完成\n",
      "已處理 NP20241茭白筍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NP20241茭白筍 並更新欄位完成\n",
      "已處理 NT20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20241水稻 並更新欄位完成\n",
      "已處理 NT20241甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20241甘藍 並更新欄位完成\n",
      "已處理 NT20241茭白筍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20241茭白筍 並更新欄位完成\n",
      "已處理 NT20241薑.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20241薑 並更新欄位完成\n",
      "已處理 NT20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20242水稻 並更新欄位完成\n",
      "已處理 NT20242甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20242甘藍 並更新欄位完成\n",
      "已處理 NT20243山藥.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20243山藥 並更新欄位完成\n",
      "已處理 NT20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\NT20243鳳梨 並更新欄位完成\n",
      "已處理 PT 20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT_20243鳳梨 並更新欄位完成\n",
      "已處理 PT20240毛豆_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20240毛豆 並更新欄位完成\n",
      "已處理 PT20240洋蔥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20240洋蔥 並更新欄位完成\n",
      "已處理 PT20240甜瓜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20240甜瓜 並更新欄位完成\n",
      "已處理 PT20240紅豆_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20240紅豆 並更新欄位完成\n",
      "已處理 PT20240西瓜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20240西瓜 並更新欄位完成\n",
      "已處理 PT20241毛豆.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20241毛豆 並更新欄位完成\n",
      "已處理 PT20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20241水稻 並更新欄位完成\n",
      "已處理 PT20241水芋.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20241水芋 並更新欄位完成\n",
      "已處理 PT20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\PT20242水稻 並更新欄位完成\n",
      "已處理 TC20240小麥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20240小麥 並更新欄位完成\n",
      "已處理 TC20240蕎麥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20240蕎麥 並更新欄位完成\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已處理 TC20240馬鈴薯_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20240馬鈴薯 並更新欄位完成\n",
      "已處理 TC20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20241水稻 並更新欄位完成\n",
      "已處理 TC20241水芋.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20241水芋 並更新欄位完成\n",
      "已處理 TC20241甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20241甘藍 並更新欄位完成\n",
      "已處理 TC20241甘藷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20241甘藷 並更新欄位完成\n",
      "已處理 TC20241落花生.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20241落花生 並更新欄位完成\n",
      "已處理 TC20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20241西瓜 並更新欄位完成\n",
      "已處理 TC20242毛豆.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20242毛豆 並更新欄位完成\n",
      "已處理 TC20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20242水稻 並更新欄位完成\n",
      "已處理 TC20242甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20242甘藍 並更新欄位完成\n",
      "已處理 TC20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TC20243鳳梨 並更新欄位完成\n",
      "已處理 TN20240玉米_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240玉米 並更新欄位完成\n",
      "已處理 TN20240甘藍_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240甘藍 並更新欄位完成\n",
      "已處理 TN20240甘藷_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240甘藷 並更新欄位完成\n",
      "已處理 TN20240甜瓜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240甜瓜 並更新欄位完成\n",
      "已處理 TN20240胡蘿蔔_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240胡蘿蔔 並更新欄位完成\n",
      "已處理 TN20240落花生_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240落花生 並更新欄位完成\n",
      "已處理 TN20240蔥頭_紅蔥頭_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240蔥頭_紅蔥頭 並更新欄位完成\n",
      "已處理 TN20240馬鈴薯_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20240馬鈴薯 並更新欄位完成\n",
      "已處理 TN20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20241水稻 並更新欄位完成\n",
      "已處理 TN20241甜瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20241甜瓜 並更新欄位完成\n",
      "已處理 TN20241荷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20241荷 並更新欄位完成\n",
      "已處理 TN20241蜀黍_高梁.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20241蜀黍_高梁 並更新欄位完成\n",
      "已處理 TN20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20241西瓜 並更新欄位完成\n",
      "已處理 TN20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20242水稻 並更新欄位完成\n",
      "已處理 TN20242菱角.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20242菱角 並更新欄位完成\n",
      "已處理 TN20242西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20242西瓜 並更新欄位完成\n",
      "已處理 TN20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TN20243鳳梨 並更新欄位完成\n",
      "已處理 TP20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TP20241水稻 並更新欄位完成\n",
      "已處理 TP20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TP20242水稻 並更新欄位完成\n",
      "已處理 TT20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TT20241水稻 並更新欄位完成\n",
      "已處理 TT20241甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TT20241甘藍 並更新欄位完成\n",
      "已處理 TT20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TT20242水稻 並更新欄位完成\n",
      "已處理 TT20242甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TT20242甘藍 並更新欄位完成\n",
      "已處理 TT20242西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TT20242西瓜 並更新欄位完成\n",
      "已處理 TT20243荖藤.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TT20243荖藤 並更新欄位完成\n",
      "已處理 TT20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TT20243鳳梨 並更新欄位完成\n",
      "已處理 TY20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TY20241水稻 並更新欄位完成\n",
      "已處理 TY20241甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TY20241甘藍 並更新欄位完成\n",
      "已處理 TY20241荷.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TY20241荷 並更新欄位完成\n",
      "已處理 TY20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TY20242水稻 並更新欄位完成\n",
      "已處理 TY20242甘藍.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\TY20242甘藍 並更新欄位完成\n",
      "已處理 YL20240洋蔥_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240洋蔥 並更新欄位完成\n",
      "已處理 YL20240牛蒡_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240牛蒡 並更新欄位完成\n",
      "已處理 YL20240玉米_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240玉米 並更新欄位完成\n",
      "已處理 YL20240甘藍_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240甘藍 並更新欄位完成\n",
      "已處理 YL20240甘藷_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240甘藷 並更新欄位完成\n",
      "已處理 YL20240胡蘿蔔_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240胡蘿蔔 並更新欄位完成\n",
      "已處理 YL20240蒜_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240蒜 並更新欄位完成\n",
      "已處理 YL20240蘿蔔_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240蘿蔔 並更新欄位完成\n",
      "已處理 YL20240馬鈴薯_97.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20240馬鈴薯 並更新欄位完成\n",
      "已處理 YL20241毛豆.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20241毛豆 並更新欄位完成\n",
      "已處理 YL20241水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20241水稻 並更新欄位完成\n",
      "已處理 YL20241水芋.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20241水芋 並更新欄位完成\n",
      "已處理 YL20241落花生.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20241落花生 並更新欄位完成\n",
      "已處理 YL20241西瓜.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20241西瓜 並更新欄位完成\n",
      "已處理 YL20242水稻.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20242水稻 並更新欄位完成\n",
      "已處理 YL20242落花生.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20242落花生 並更新欄位完成\n",
      "已處理 YL20243鳳梨.shp，複製至 C:\\Users\\johnnychan\\Desktop\\GIS\\MyProject6.gdb\\YL20243鳳梨 並更新欄位完成\n"
     ]
    }
   ],
   "source": [
    "# 設定來源工作目錄\n",
    "arcpy.env.workspace = source_workspace\n",
    "\n",
    "# 取得所有 shapefile 檔案\n",
    "shpList = arcpy.ListFeatureClasses(\"*.shp\")\n",
    "if not shpList:\n",
    "    print(\"找不到任何 shapefile 檔案，請確認來源路徑設定正確。\")\n",
    "else:\n",
    "    for shp in shpList:\n",
    "        # 取得檔案基本名稱 (不含副檔名)\n",
    "        base_name = os.path.splitext(os.path.basename(shp))[0]\n",
    "        \n",
    "        # 去除檔名中的 _97\n",
    "        new_base_name = base_name.replace(\"_97\", \"\")\n",
    "        \n",
    "        # 利用 arcpy.ValidateTableName 自動修正輸出名稱，確保名稱合法且盡量保留原始檔名內容\n",
    "        valid_feature_class_name = arcpy.ValidateTableName(new_base_name, dest_gdb)\n",
    "        out_feature_class = os.path.join(dest_gdb, valid_feature_class_name)\n",
    "        \n",
    "        # 複製 shapefile 至 geodatabase\n",
    "        try:\n",
    "            arcpy.CopyFeatures_management(shp, out_feature_class)\n",
    "        except Exception as e:\n",
    "            print(f\"複製 {shp} 時發生錯誤: {e}\")\n",
    "            continue\n",
    "        \n",
    "        # 欄位名稱設定\n",
    "        new_field = \"file_name\"\n",
    "        \n",
    "        # 檢查目的資料集中是否已存在該欄位，若無則新增\n",
    "        fields = [field.name for field in arcpy.ListFields(out_feature_class)]\n",
    "        if new_field not in fields:\n",
    "            arcpy.AddField_management(out_feature_class, new_field, \"TEXT\", field_length=100)\n",
    "        \n",
    "        # 將完整檔名 (去除 _97，但保留其他原始內容) 填入 file_name 欄位\n",
    "        file_name_value = new_base_name\n",
    "        \n",
    "        # 使用 UpdateCursor 更新每筆資料的 file_name 欄位\n",
    "        with arcpy.da.UpdateCursor(out_feature_class, [new_field]) as cursor:\n",
    "            for row in cursor:\n",
    "                row[0] = file_name_value\n",
    "                cursor.updateRow(row)\n",
    "        \n",
    "        print(f\"已處理 {shp}，複製至 {out_feature_class} 並更新欄位完成\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已更新 CH20240小麥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20240洋蔥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20240甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20240甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20240胡蘿蔔 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20240蒜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20240蕎麥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20240蘿蔔 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20241甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20241落花生 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20242甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20242落花生 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20243山藥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20243荖藤 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CH20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240大芥菜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240水蕹菜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240牛蒡 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240玉米 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240甜瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240蘿蔔 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240青花菜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20240馬鈴薯 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20241毛豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20241荷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20241蜀黍_高梁 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 CY20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HC20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HC20241甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HC20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HC20242甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20241水芋 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20241龍鬚菜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20242西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20243金針菜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 HL20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 IL20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 IL20241甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 IL20241蔥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 IL20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 IL20242甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 IL20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20240毛豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20240洋蔥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20240紅豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20240花椰菜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20241毛豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20241苦瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 KH20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 ML20240草莓 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 ML20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 ML20241水芋 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 ML20241甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 ML20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 ML20242甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 ML20242甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NP20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NP20241甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NP20241茭白筍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20241甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20241茭白筍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20241薑 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20242甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20243山藥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 NT20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT_20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20240毛豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20240洋蔥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20240甜瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20240紅豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20240西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20241毛豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20241水芋 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 PT20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20240小麥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20240蕎麥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20240馬鈴薯 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20241水芋 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20241甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20241甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20241落花生 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20242毛豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20242甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TC20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240玉米 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240甜瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240胡蘿蔔 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240落花生 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240蔥頭_紅蔥頭 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20240馬鈴薯 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20241甜瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20241荷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20241蜀黍_高梁 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20242菱角 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20242西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TN20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TP20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TP20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TT20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TT20241甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TT20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TT20242甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TT20242西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TT20243荖藤 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TT20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TY20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TY20241甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TY20241荷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TY20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 TY20242甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240洋蔥 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240牛蒡 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240玉米 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240甘藍 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240甘藷 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240胡蘿蔔 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240蒜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240蘿蔔 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20240馬鈴薯 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20241毛豆 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20241水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20241水芋 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20241落花生 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20241西瓜 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20242水稻 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20242落花生 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n",
      "已更新 YL20243鳳梨 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\n"
     ]
    }
   ],
   "source": [
    "# 設定目的地工作目錄為 geodatabase\n",
    "arcpy.env.workspace = dest_gdb\n",
    "\n",
    "# 取得 geodatabase 中所有圖資（feature classes）\n",
    "fcList = arcpy.ListFeatureClasses()\n",
    "\n",
    "# 區域代碼對照表\n",
    "region_map = {\n",
    "    \"TP\": \"臺北\", \"NP\": \"新北\", \"KL\": \"基隆\", \"TY\": \"桃園\", \"HC\": \"新竹\", \"ML\": \"苗栗\",\n",
    "    \"TC\": \"臺中\", \"NT\": \"南投\", \"CH\": \"彰化\", \"YL\": \"雲林\", \"CY\": \"嘉義\", \"TN\": \"臺南\",\n",
    "    \"IL\": \"宜蘭\", \"HL\": \"花蓮\", \"TT\": \"臺東\", \"PH\": \"澎湖\", \"KM\": \"金門\", \"LC\": \"連江\",\n",
    "    \"KH\": \"高雄\", \"PT\": \"屏東\"\n",
    "}\n",
    "\n",
    "# 欄位名稱與建置的欄位長度\n",
    "new_fields = {\n",
    "    \"區域代碼\": 10,\n",
    "    \"區域名稱\": 10,\n",
    "    \"年份\": 10,\n",
    "    \"期作\": 10,\n",
    "    \"作物類別\": 100\n",
    "}\n",
    "\n",
    "for fc in fcList:\n",
    "    # 檢查並新增欄位（若尚不存在）\n",
    "    existing_fields = [f.name for f in arcpy.ListFields(fc)]\n",
    "    for field, length in new_fields.items():\n",
    "        if field not in existing_fields:\n",
    "            arcpy.AddField_management(fc, field, \"TEXT\", field_length=length)\n",
    "    \n",
    "    # 取得 file_name 欄位的值，假設每個圖資的 file_name 值皆一致\n",
    "    file_name_val = None\n",
    "    with arcpy.da.SearchCursor(fc, [\"file_name\"]) as cursor:\n",
    "        for row in cursor:\n",
    "            file_name_val = row[0]\n",
    "            break\n",
    "    if not file_name_val:\n",
    "        print(f\"圖資 {fc} 無法取得 file_name 欄位值，跳過更新。\")\n",
    "        continue\n",
    "    \n",
    "    # 檢查檔名長度是否足夠解析（至少需 7 個字元）\n",
    "    if len(file_name_val) < 7:\n",
    "        print(f\"檔名 {file_name_val} 長度不足，無法解析，跳過 {fc}。\")\n",
    "        continue\n",
    "\n",
    "    # 從 file_name 中解析各項資訊\n",
    "    region_code = file_name_val[0:2]         # 前兩碼\n",
    "    year_val = file_name_val[2:6]              # 第3-6碼\n",
    "    phase_val = file_name_val[6:7]             # 第7碼\n",
    "    crop_type = file_name_val[7:]              # 剩餘部分，作物類別\n",
    "    region_name = region_map.get(region_code, \"\")  # 根據對照表取得縣市名稱\n",
    "\n",
    "    # 使用 UpdateCursor 更新所有記錄的這幾個欄位（值皆相同）\n",
    "    with arcpy.da.UpdateCursor(fc, [\"區域代碼\", \"區域名稱\", \"年份\", \"期作\", \"作物類別\"]) as cursor:\n",
    "        for row in cursor:\n",
    "            row[0] = region_code\n",
    "            row[1] = region_name\n",
    "            row[2] = year_val\n",
    "            row[3] = phase_val\n",
    "            row[4] = crop_type\n",
    "            cursor.updateRow(row)\n",
    "    \n",
    "    print(f\"已更新 {fc} 的新欄位：區域代碼、區域名稱、年份、期作、作物類別\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已將 151 個圖資 merge 並匯出至 C:\\Users\\johnnychan\\Desktop\\GIS\\2024.gdb\\農業土地覆蓋_衛判_會籍地_2024\n",
      "所有作業完成！\n"
     ]
    }
   ],
   "source": [
    "# 若 merge_gdb 尚未存在，則自動建立 geodatabase\n",
    "if not arcpy.Exists(merge_gdb):\n",
    "    parent_folder = os.path.dirname(merge_gdb)\n",
    "    gdb_name = os.path.basename(merge_gdb)\n",
    "    arcpy.CreateFileGDB_management(parent_folder, gdb_name)\n",
    "    print(f\"已建立 geodatabase：{merge_gdb}\")\n",
    "\n",
    "# 取得 dest_gdb 中所有圖資（feature classes）\n",
    "fc_list = arcpy.ListFeatureClasses()\n",
    "\n",
    "# 定義 merge 後輸出圖資的完整路徑\n",
    "merge_output = os.path.join(merge_gdb, output_name)\n",
    "\n",
    "# 執行 merge\n",
    "arcpy.Merge_management(fc_list, merge_output)\n",
    "print(f\"已將 {len(fc_list)} 個圖資 merge 並匯出至 {merge_output}\")\n",
    "\n",
    "# 刪除 merge_output 中的 file_name 欄位\n",
    "arcpy.DeleteField_management(merge_output, \"file_name\")\n",
    "print(\"所有作業完成！\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ArcGISPro",
   "language": "Python",
   "name": "python3"
  },
  "language_info": {
   "file_extension": ".py",
   "name": "python",
   "version": "3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
