Skip to content

About

KEN_ALL.CSVをSQLite3に変換

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

YubinConvert

KEN_ALL.CSVをSQLite3に変換

概要

JPZipAddressで使用している郵便番号検索の検索用データベースを作成するのに使用しているプログラムです。

ビルド

zenzopを使用しているため、Rustをインストールしておいてください。

Kotlin/Nativeで記述しており、ホストOSのバイナリのみビルドできます。 WindowsとLinuxのみ対応しています。

WindowsでWindowsバイナリをビルドできることを確認しています。 また、WindowsのDocker環境でLinuxバイナリをビルドできることを確認しています。

Linuxではlibcurlのgnutlsバージョンが必要になるかもしれません。

実行方法

郵便局のサイトからken_all.zipをダウンロードし、作業ディレクトリに変換ファイルを出力します。

YubinConvert.exe -d [作業ディレクトリ] all

詳しいコマンドライン引数は下記を参照

usage:
    YubinConvert.exe [options] {all|download|unzip|convert|compress|info}...

options:
    -d  <dir>        : 作業ディレクトリを指定します
    -zi <num>        : zopfli/zenzopのiterator値指定
    -zb <num>        : zopfli/zenzopのblock splitting max値の指定
    -ze <true|false> : zenzopのenhanced値の指定(zenzopのみ/デフォルトfalse)
    -zopfli          : zopfliを使用して圧縮します(zenzopは使用しない/デフォルト)
    -zenzop          : zenzopを使用して圧縮します(zopfliは使用しない)

commands:
    all      : ダウンロードと展開、変換を行います(download,unzip,convertのみ)
    download : ken_all.zipをダウンロードします
    unzip    : ken_all.zipを展開します
    convert  : KEN_ALL.CSVファイルを変換します
    compress : 変換したx_ken_all.sqliteをzopfliまたはzenzopで圧縮します
    info     : 各ファイルのMD5サム値などを表示します

出力ファイル

  • x_ken_all.csv
    • KEN_ALL.CSVの複数行の結合や平仮名への変換など、最低限の加工を行った結果を文字コードUTF-8で保存したCSVファイルです。
    • 公開されているutf_all.csvファイルと下記の点で異なります。(2023/7/31時点)
      • カタカナを平仮名に変換しています。
      • フォントの影響か文字が見づらいため、波ダッシュ「〜」の文字コードを全角チルダ「~」の文字コードに変換しています。 (UTF-8としてはutf_all.csvが正しい?)
      • マイナス記号「−」の文字コードを全角ハイフン「-」の文字コードに変換しています。
      • もしかしたら他にもあるかもしれません。
  • ken_all.sqlite
    • KEN_ALL.CSVの複数行の結合や平仮名への変換など、最低限の加工を行った結果を保存したデータベースです。
  • x_ken_all.sqlite
    • JPZipAddressで使用している検索用データベースです。
    • そこそこ無理矢理な方法を使ってファイルサイズを小さくするようにしています。
  • x_ken_all.sqlite.??.backup
    • 途中経過のバックアップファイルです。

About

KEN_ALL.CSVをSQLite3に変換

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages