Skip to content

Instantly share code, notes, and snippets.

@kamataryo
Last active January 31, 2022 07:12
Show Gist options
  • Save kamataryo/57aa11a43fa22f943cb582a17a4fcb14 to your computer and use it in GitHub Desktop.
Save kamataryo/57aa11a43fa22f943cb582a17a4fcb14 to your computer and use it in GitHub Desktop.
@geolonia/japanese-addresses の紛らわしい町丁目(「◯◯町」と「◯◯」が共存)
町なし 町あり
埼玉県川口市前川四丁目 埼玉県川口市前川町四丁目
埼玉県川口市前川三丁目 埼玉県川口市前川町三丁目
埼玉県深谷市深谷 埼玉県深谷市深谷町
埼玉県深谷市国済寺 埼玉県深谷市国済寺町
千葉県千葉市中央区蘇我二丁目 千葉県千葉市中央区蘇我町二丁目
千葉県船橋市海神二丁目 千葉県船橋市海神町二丁目
千葉県船橋市海神三丁目 千葉県船橋市海神町三丁目
千葉県船橋市夏見二丁目 千葉県船橋市夏見町二丁目
千葉県佐倉市飯野 千葉県佐倉市飯野町
千葉県佐倉市井野 千葉県佐倉市井野町
千葉県佐倉市岩富 千葉県佐倉市岩富町
千葉県佐倉市下根 千葉県佐倉市下根町
千葉県習志野市谷津一丁目 千葉県習志野市谷津町一丁目
千葉県習志野市谷津四丁目 千葉県習志野市谷津町四丁目
千葉県柏市泉 千葉県柏市泉町
千葉県八千代市萱田 千葉県八千代市萱田町
千葉県鴨川市仲 千葉県鴨川市仲町
千葉県鴨川市西 千葉県鴨川市西町
千葉県鴨川市東 千葉県鴨川市東町
神奈川県川崎市幸区小向 神奈川県川崎市幸区小向町
神奈川県厚木市厚木 神奈川県厚木市厚木町
新潟県新潟市東区榎 新潟県新潟市東区榎町
新潟県新潟市秋葉区下興野 新潟県新潟市秋葉区下興野町
新潟県新潟市南区七軒 新潟県新潟市南区七軒町
新潟県新潟市西区大野 新潟県新潟市西区大野町
新潟県新潟市西蒲区栄 新潟県新潟市西蒲区栄町
新潟県長岡市栃尾山田 新潟県長岡市栃尾山田町
新潟県三条市新光 新潟県三条市新光町
新潟県燕市吉田浜首 新潟県燕市吉田浜首町
新潟県上越市大字寺 新潟県上越市大字寺町
新潟県阿賀野市下条 新潟県阿賀野市下条町
新潟県阿賀野市外城 新潟県阿賀野市外城町
新潟県阿賀野市中島 新潟県阿賀野市中島町
新潟県阿賀野市百津 新潟県阿賀野市百津町
新潟県佐渡市小木 新潟県佐渡市小木町
新潟県佐渡市沢根 新潟県佐渡市沢根町
新潟県佐渡市八幡 新潟県佐渡市八幡町
新潟県胎内市西条 新潟県胎内市西条町
新潟県胎内市本郷 新潟県胎内市本郷町
富山県富山市上野新 富山県富山市上野新町
富山県富山市西宮 富山県富山市西宮町
富山県富山市藤木新 富山県富山市藤木新町
富山県富山市本郷 富山県富山市本郷町
富山県富山市水橋開発 富山県富山市水橋開発町
富山県富山市水橋中村 富山県富山市水橋中村町
富山県高岡市金屋 富山県高岡市金屋町
富山県高岡市上関 富山県高岡市上関町
富山県高岡市定塚 富山県高岡市定塚町
富山県高岡市関 富山県高岡市関町
富山県高岡市二上 富山県高岡市二上町
富山県高岡市守山 富山県高岡市守山町
富山県魚津市村木 富山県魚津市村木町
富山県魚津市本新 富山県魚津市本新町
富山県中新川郡立山町前沢新 富山県中新川郡立山町前沢新町
石川県小松市八幡 石川県小松市八幡町
石川県加賀市大聖寺菅生 石川県加賀市大聖寺菅生町
石川県白山市安養寺 石川県白山市安養寺町
石川県鳳珠郡能登町字上 石川県鳳珠郡能登町字上町
福井県福井市照手四丁目 福井県福井市照手町四丁目
福井県大野市篠座 福井県大野市篠座町
福井県大野市東中 福井県大野市東中町
長野県長野市中御所四丁目 長野県長野市中御所町四丁目
岐阜県岐阜市鴬谷 岐阜県岐阜市鴬谷町
岐阜県岐阜市旦島中一丁目 岐阜県岐阜市旦島中町一丁目
岐阜県岐阜市旦島中二丁目 岐阜県岐阜市旦島中町二丁目
岐阜県岐阜市長良東一丁目 岐阜県岐阜市長良東町一丁目
岐阜県岐阜市長良東二丁目 岐阜県岐阜市長良東町二丁目
岐阜県岐阜市本荘 岐阜県岐阜市本荘町
岐阜県中津川市駒場 岐阜県中津川市駒場町
静岡県静岡市葵区東 静岡県静岡市葵区東町
静岡県静岡市葵区大岩 静岡県静岡市葵区大岩町
静岡県静岡市葵区柚木 静岡県静岡市葵区柚木町
静岡県静岡市葵区有永 静岡県静岡市葵区有永町
静岡県静岡市葵区羽高 静岡県静岡市葵区羽高町
静岡県静岡市清水区下野 静岡県静岡市清水区下野町
静岡県静岡市清水区船越 静岡県静岡市清水区船越町
静岡県沼津市沢田 静岡県沼津市沢田町
静岡県沼津市三枚橋 静岡県沼津市三枚橋町
静岡県沼津市本 静岡県沼津市本町
静岡県富士宮市阿幸地 静岡県富士宮市阿幸地町
静岡県富士宮市野中 静岡県富士宮市野中町
静岡県島田市岸 静岡県島田市岸町
静岡県島田市中河 静岡県島田市中河町
静岡県富士市青島 静岡県富士市青島町
静岡県富士市荒田島 静岡県富士市荒田島町
静岡県富士市瓜島 静岡県富士市瓜島町
静岡県富士市鈴川 静岡県富士市鈴川町
静岡県富士市蓼原 静岡県富士市蓼原町
静岡県富士市津田 静岡県富士市津田町
静岡県富士市平垣 静岡県富士市平垣町
静岡県富士市本市場 静岡県富士市本市場町
静岡県富士市依田橋 静岡県富士市依田橋町
静岡県富士市依田原 静岡県富士市依田原町
静岡県掛川市中 静岡県掛川市中町
静岡県掛川市仁藤 静岡県掛川市仁藤町
静岡県袋井市高尾 静岡県袋井市高尾町
愛知県名古屋市千種区池下二丁目 愛知県名古屋市千種区池下町二丁目
愛知県名古屋市千種区向陽一丁目 愛知県名古屋市千種区向陽町一丁目
愛知県名古屋市北区大杉一丁目 愛知県名古屋市北区大杉町一丁目
愛知県名古屋市北区大杉二丁目 愛知県名古屋市北区大杉町二丁目
愛知県名古屋市北区大杉三丁目 愛知県名古屋市北区大杉町三丁目
愛知県名古屋市北区金城二丁目 愛知県名古屋市北区金城町二丁目
愛知県名古屋市北区金城三丁目 愛知県名古屋市北区金城町三丁目
愛知県名古屋市北区金城四丁目 愛知県名古屋市北区金城町四丁目
愛知県名古屋市北区山田三丁目 愛知県名古屋市北区山田町三丁目
愛知県名古屋市北区山田四丁目 愛知県名古屋市北区山田町四丁目
愛知県名古屋市中区金山一丁目 愛知県名古屋市中区金山町一丁目
愛知県名古屋市中区新栄一丁目 愛知県名古屋市中区新栄町一丁目
愛知県名古屋市中区新栄二丁目 愛知県名古屋市中区新栄町二丁目
愛知県名古屋市中区新栄三丁目 愛知県名古屋市中区新栄町三丁目
愛知県名古屋市昭和区吹上一丁目 愛知県名古屋市昭和区吹上町一丁目
愛知県名古屋市昭和区吹上二丁目 愛知県名古屋市昭和区吹上町二丁目
愛知県名古屋市熱田区金山一丁目 愛知県名古屋市熱田区金山町一丁目
愛知県名古屋市中川区五女子一丁目 愛知県名古屋市中川区五女子町一丁目
愛知県名古屋市中川区五女子二丁目 愛知県名古屋市中川区五女子町二丁目
愛知県名古屋市港区入場一丁目 愛知県名古屋市港区入場町一丁目
愛知県清須市春日宮重 愛知県清須市春日宮重町
三重県津市神納 三重県津市神納町
京都府京都市左京区一乗寺葉山 京都府京都市左京区一乗寺葉山町
京都府京都市南区上鳥羽戒光 京都府京都市南区上鳥羽戒光町
京都府京都市南区吉祥院堤外 京都府京都市南区吉祥院堤外町
京都府京都市山科区勧修寺北大日 京都府京都市山科区勧修寺北大日町
京都府京都市山科区勧修寺南大日 京都府京都市山科区勧修寺南大日町
京都府京都市西京区下津林番条 京都府京都市西京区下津林番条町
京都府宮津市字京口 京都府宮津市字京口町
京都府宮津市字波路 京都府宮津市字波路町
京都府木津川市木津 京都府木津川市木津町
兵庫県尼崎市額田 兵庫県尼崎市額田町
兵庫県尼崎市高田 兵庫県尼崎市高田町
兵庫県尼崎市善法寺 兵庫県尼崎市善法寺町
兵庫県西宮市鷲林寺 兵庫県西宮市鷲林寺町
兵庫県豊岡市塩津 兵庫県豊岡市塩津町
兵庫県豊岡市大磯 兵庫県豊岡市大磯町
兵庫県豊岡市立野 兵庫県豊岡市立野町
兵庫県豊岡市三坂 兵庫県豊岡市三坂町
兵庫県三木市府内 兵庫県三木市府内町
兵庫県川西市山下 兵庫県川西市山下町
和歌山県和歌山市加納 和歌山県和歌山市加納町
和歌山県和歌山市北 和歌山県和歌山市北町
和歌山県和歌山市谷 和歌山県和歌山市谷町
鳥取県鳥取市新 鳥取県鳥取市新町
鳥取県鳥取市馬場 鳥取県鳥取市馬場町
鳥取県米子市尾高 鳥取県米子市尾高町
鳥取県倉吉市広瀬 鳥取県倉吉市広瀬町
鳥取県西伯郡南部町西 鳥取県西伯郡南部町西町
岡山県津山市林田 岡山県津山市林田町
岡山県苫田郡鏡野町大 岡山県苫田郡鏡野町大町
広島県三原市幸崎久和喜 広島県三原市幸崎町久和喜
広島県三原市幸崎渡瀬 広島県三原市幸崎町渡瀬
山口県山口市円政寺 山口県山口市円政寺町
山口県山口市中河原 山口県山口市中河原町
山口県山口市矢原 山口県山口市矢原町
愛媛県大洲市新谷 愛媛県大洲市新谷町
福岡県八女市本 福岡県八女市本町
福岡県宗像市大穂 福岡県宗像市大穂町
福岡県古賀市青柳 福岡県古賀市青柳町
福岡県嘉麻市大隈 福岡県嘉麻市大隈町
佐賀県唐津市橋本 佐賀県唐津市橋本町
熊本県水俣市長野 熊本県水俣市長野町
熊本県玉名郡南関町大字肥猪 熊本県玉名郡南関町大字肥猪町
熊本県葦北郡芦北町大字田浦 熊本県葦北郡芦北町大字田浦町
大分県大分市上野 大分県大分市上野町
大分県大分市大字森 大分県大分市大字森町
大分県竹田市大字竹田 大分県竹田市大字竹田町
宮崎県宮崎市谷川三丁目 宮崎県宮崎市谷川町三丁目
鹿児島県鹿児島市吉野一丁目 鹿児島県鹿児島市吉野町一丁目
鹿児島県鹿児島市吉野二丁目 鹿児島県鹿児島市吉野町二丁目
鹿児島県霧島市国分野口 鹿児島県霧島市国分野口町
鹿児島県霧島市国分府中 鹿児島県霧島市国分府中町
鹿児島県霧島市国分松木 鹿児島県霧島市国分松木町
鹿児島県霧島市国分向花 鹿児島県霧島市国分向花町
鹿児島県南さつま市加世田地頭所 鹿児島県南さつま市加世田地頭所町
鹿児島県奄美市名瀬伊津部 鹿児島県奄美市名瀬伊津部町
鹿児島県薩摩郡さつま町虎居 鹿児島県薩摩郡さつま町虎居町
沖縄県糸満市西崎二丁目 沖縄県糸満市西崎町二丁目
沖縄県糸満市西崎一丁目 沖縄県糸満市西崎町一丁目
北海道芦別市常磐 北海道芦別市常磐町
北海道芦別市豊岡 北海道芦別市豊岡町
北海道江別市東野幌 北海道江別市東野幌町
北海道石狩市若生 北海道石狩市若生町
北海道空知郡奈井江町字奈井江 北海道空知郡奈井江町字奈井江町
北海道空知郡上砂川町字上砂川 北海道空知郡上砂川町字上砂川町
青森県弘前市大字駒越 青森県弘前市大字駒越町
青森県平川市新屋 青森県平川市新屋町
青森県三戸郡三戸町大字川守田 青森県三戸郡三戸町大字川守田町
岩手県盛岡市川目 岩手県盛岡市川目町
岩手県盛岡市新庄 岩手県盛岡市新庄町
岩手県盛岡市東中野 岩手県盛岡市東中野町
岩手県宮古市千徳 岩手県宮古市千徳町
岩手県花巻市豊沢 岩手県花巻市豊沢町
宮城県石巻市中島 宮城県石巻市中島町
宮城県栗原市金成沢辺 宮城県栗原市金成沢辺町
宮城県柴田郡大河原町字町西 宮城県柴田郡大河原町字西
宮城県柴田郡大河原町字西 宮城県柴田郡大河原町字西町
宮城県加美郡加美町字原東 宮城県加美郡加美町字原町東
宮城県加美郡加美町字原大橋 宮城県加美郡加美町字原町大橋
宮城県遠田郡美里町字素山 宮城県遠田郡美里町字素山町
宮城県遠田郡美里町字藤ケ崎 宮城県遠田郡美里町字藤ケ崎町
秋田県大館市根下戸 秋田県大館市根下戸町
秋田県湯沢市字大島 秋田県湯沢市字大島町
秋田県大仙市福田 秋田県大仙市福田町
山形県米沢市大字関 山形県米沢市大字関町
山形県鶴岡市大宝寺 山形県鶴岡市大宝寺町
山形県鶴岡市茅原 山形県鶴岡市茅原町
山形県鶴岡市道形 山形県鶴岡市道形町
山形県鶴岡市友江 山形県鶴岡市友江町
山形県鶴岡市苗津 山形県鶴岡市苗津町
山形県鶴岡市新形 山形県鶴岡市新形町
山形県鶴岡市三和 山形県鶴岡市三和町
山形県新庄市小田島 山形県新庄市小田島町
山形県新庄市沼田 山形県新庄市沼田町
福島県福島市森合 福島県福島市森合町
福島県福島市御山 福島県福島市御山町
福島県須賀川市西川 福島県須賀川市西川町
福島県喜多方市字寺南 福島県喜多方市字寺町南
茨城県水戸市内原二丁目 茨城県水戸市内原町二丁目
茨城県水戸市内原一丁目 茨城県水戸市内原町一丁目
茨城県古河市長谷 茨城県古河市長谷町
茨城県古河市原 茨城県古河市原町
茨城県石岡市柏原 茨城県石岡市柏原町
茨城県龍ヶ崎市姫宮 茨城県龍ヶ崎市姫宮町
茨城県龍ヶ崎市野原 茨城県龍ヶ崎市野原町
茨城県ひたちなか市相金 茨城県ひたちなか市相金町
栃木県那須塩原市豊浦 栃木県那須塩原市豊浦町
const fs = require('fs')
const towns = JSON.parse(fs.readFileSync('/dev/stdin', 'utf8'))
const cities = towns.reduce((prev, town) => {
const code = town.市区町村コード
prev[code] ? prev[code].push(town) : (prev[code] = [town])
return prev
}, {})
const codes = Object.keys(cities)
let results = ['町なし', '町あり']
for (const code of codes) {
const cityTowns = cities[code]
const cityCount = cityTowns.length
for (let i = 0; i < cityCount; i++) {
for (let j = i + 1; j < cityCount; j++) {
const townName1 = cityTowns[i].大字町丁目名
const townName2 = cityTowns[j].大字町丁目名
if (
(townName1.indexOf('町') !== -1 && townName2.indexOf('町') === -1) ||
(townName1.indexOf('町') === -1 && townName2.indexOf('町') !== -1)
) {
if (townName1.replace(/町/g, '') === townName2.replace(/町/g, '')) {
const addressFull1 = [
cityTowns[i].都道府県名,
cityTowns[i].市区町村名,
cityTowns[i].大字町丁目名,
// cityTowns[i]['小字・通称名'] || '',
].join('')
const addressFull2 = [
cityTowns[j].都道府県名,
cityTowns[j].市区町村名,
cityTowns[j].大字町丁目名,
// cityTowns[j]['小字・通称名'] || '',
].join('')
const pair = [addressFull1, addressFull2]
pair.sort()
results.push(pair.join(','))
}
}
}
}
}
process.stdout.write([...new Set(results)].join('\n') + '\n')
curl -sL https://github.com/geolonia/japanese-addresses/raw/develop/data/latest.csv | npx csv2json | node test.js > stdout.csv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment