#author("2020-07-22T12:29:47+09:00","default:nobuoki","nobuoki")
[[PythonでDBFファイルをCSVファイルに、CSVファイルをDBFファイルに相互変換する話 - Qiita>https://qiita.com/Kanahiro/items/46d845c856546a424dcf]]の[[Kanahiro/Dbf-converter: read and convert .DBF file with Python3.x>https://github.com/Kanahiro/Dbf-converter]]は、日本のGISっ子が大好きな[[基盤地図情報>https://www.gsi.go.jp/kiban/]]のdbfファイルも文字化けせずにcsv変換出来るという素敵スクリプトです
#author("2021-02-06T02:25:43+09:00","default:nobuoki","nobuoki")
[[PythonでDBFファイルをCSVファイルに、CSVファイルをDBFファイルに相互変換する話 - Qiita>https://qiita.com/Kanahiro/items/46d845c856546a424dcf]]の[[Kanahiro/Dbf-converter: read and convert .DBF file with Python3.x>https://github.com/Kanahiro/Dbf-converter]]は、日本のGISっ子が大好きな[[国土数値情報ダウンロードサービス>https://nlftp.mlit.go.jp/ksj/]]のdbfファイルも文字化けせずにcsv変換出来るという素敵スクリプトです

これをコンテナに入れてみました

#prism(bash){{{
# ビルド
wget -O- https://gist.github.com/kemasoft-gist/85b03e71dcbf9d117074c11ae1e4d2e5/raw | podman build - -t kemasoft/dbfconv

# 使いやすくするためにaliasしておく
alias dbfconv='podman run --rm -v .:/mnt kemasoft/dbfconv dbfconv'

}}}

こんな感じで使います

#prism(bash){{{
# カレントディレクトリにdbfファイルを置く(コンテナの /mnt にマウントされる)
[nobuoki@e130 dbf]
$ ls
20200401-行政区画.dbf  20200401-行政区画界線.dbf  20200401-行政区画代表点.dbf  20200401-町字の代表点.dbf  20200401-町字界線.dbf

# Dbf-converter 発動
[nobuoki@e130 dbf]
$ dbfconv *.dbf
cp932encoding is correct.
20200401-行政区画.csv was wroted.
cp932encoding is correct.
20200401-行政区画界線.csv was wroted.
cp932encoding is correct.
20200401-行政区画代表点.csv was wroted.
cp932encoding is correct.
20200401-町字の代表点.csv was wroted.
cp932encoding is correct.
20200401-町字界線.csv was wroted.
All files were wroted.

# 出来上がりを確認
[nobuoki@e130 dbf]
$ ls
20200401-行政区画.csv  20200401-行政区画界線.csv  20200401-行政区画代表点.csv  20200401-町字の代表点.csv  20200401-町字界線.csv
20200401-行政区画.dbf  20200401-行政区画界線.dbf  20200401-行政区画代表点.dbf  20200401-町字の代表点.dbf  20200401-町字界線.dbf
}}}

Dockerfile
- スクリプトの配置は /Dbf-converter です
- main.py に shebang と実行権限付けて /usr/local/bin/dbconv にシンボリックリンクを張ってます
- WORKDIR /mnt しているので、コンテナ実行時に -v path/do/dir:/mnt しておくと母艦のファイルにアクセス出来ます

#gist(kemasoft-gist/85b03e71dcbf9d117074c11ae1e4d2e5)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS