Răsfoiți Sursa

feat: 新增 csv, json 数据导出脚本

modood 7 ani în urmă
părinte
comite
fb53e27a35
2 a modificat fișierele cu 73 adăugiri și 0 ștergeri
  1. 7 0
      export_csv.sh
  2. 66 0
      export_json.sh

+ 7 - 0
export_csv.sh

@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+sqlite3 -header -csv ./dist/data.sqlite 'SELECT * FROM province ORDER BY code;' > ./dist/provinces.csv
+sqlite3 -header -csv ./dist/data.sqlite 'SELECT * FROM city ORDER BY code;' > ./dist/cities.csv
+sqlite3 -header -csv ./dist/data.sqlite 'SELECT * FROM area ORDER BY code;' > ./dist/areas.csv
+sqlite3 -header -csv ./dist/data.sqlite 'SELECT * FROM street ORDER BY code;' > ./dist/streets.csv
+sqlite3 -header -csv ./dist/data.sqlite 'SELECT * FROM village ORDER BY code;' > ./dist/villages.csv

+ 66 - 0
export_json.sh

@@ -0,0 +1,66 @@
+#!/usr/bin/env bash
+
+sqlite3 ./dist/data.sqlite "SELECT code,name FROM province ORDER BY code;" | awk -F'|' '
+   { code[++i]=$1; name[i]=$2 }
+   END {
+      printf "[";
+      for(j=1;j<=i;j++){
+         printf "{|code|:|%s|,|name|:|%s|",code[j],name[j]
+         closing="},"
+         if(j==i){closing="}"}
+         printf closing;
+      }
+      printf "]";
+   }' | tr '|' '"' > ./dist/provinces.json
+
+sqlite3 ./dist/data.sqlite "SELECT code,name,provinceCode FROM city ORDER BY code;" | awk -F'|' '
+   { code[++i]=$1; name[i]=$2; provinceCode[i]=$3 }
+   END {
+      printf "[";
+      for(j=1;j<=i;j++){
+         printf "{|code|:|%s|,|name|:|%s|,|provinceCode|:|%s|",code[j],name[j],provinceCode[j]
+         closing="},"
+         if(j==i){closing="}"}
+         printf closing;
+      }
+      printf "]";
+   }' | tr '|' '"' > ./dist/cities.json
+
+sqlite3 ./dist/data.sqlite "SELECT code,name,cityCode,provinceCode FROM area ORDER BY code;" | awk -F'|' '
+   { code[++i]=$1; name[i]=$2; cityCode[i]=$3; provinceCode[i]=$4 }
+   END {
+      printf "[";
+      for(j=1;j<=i;j++){
+         printf "{|code|:|%s|,|name|:|%s|,|cityCode|:|%s|,|provinceCode|:|%s|",code[j],name[j],cityCode[j],provinceCode[j]
+         closing="},"
+         if(j==i){closing="}"}
+         printf closing;
+      }
+      printf "]";
+   }' | tr '|' '"' > ./dist/areas.json
+
+sqlite3 ./dist/data.sqlite "SELECT code,name,areaCode,cityCode,provinceCode FROM street ORDER BY code;" | awk -F'|' '
+   { code[++i]=$1; name[i]=$2; areaCode[i]=$3; cityCode[i]=$4; provinceCode[i]=$5 }
+   END {
+      printf "[";
+      for(j=1;j<=i;j++){
+         printf "{|code|:|%s|,|name|:|%s|,|areaCode|:|%s|,|cityCode|:|%s|,|provinceCode|:|%s|",code[j],name[j],areaCode[j],cityCode[j],provinceCode[j]
+         closing="},"
+         if(j==i){closing="}"}
+         printf closing;
+      }
+      printf "]";
+   }' | tr '|' '"' > ./dist/streets.json
+
+sqlite3 ./dist/data.sqlite "SELECT code,name,streetCode,areaCode,cityCode,provinceCode FROM village ORDER BY code;" | awk -F'|' '
+   { code[++i]=$1; name[i]=$2; streetCode[i]=$3; areaCode[i]=$4; cityCode[i]=$5; provinceCode[i]=$6 }
+   END {
+      printf "[";
+      for(j=1;j<=i;j++){
+         printf "{|code|:|%s|,|name|:|%s|,|streetCode|:|%s|,|areaCode|:|%s|,|cityCode|:|%s|,|provinceCode|:|%s|",code[j],name[j],streetCode[j],areaCode[j],cityCode[j],provinceCode[j]
+         closing="},"
+         if(j==i){closing="}"}
+         printf closing;
+      }
+      printf "]";
+   }' | tr '|' '"' > ./dist/villages.json