toromukun’s blog

linux 設定メモ

ちょっと、大きなcsvのハンドリングが必要になった件

 

Excelで読み込んで対応する予定のcsvデータが大きすぎて読み込み出来ない。

まあ、DBを利用すれば良いんだけどDBを使ってアプリを組むのも大げさなんで、

もう少し手軽な方法がないかと検討し、linux上でgrepawkを使う事も試してみて

何とかなりそうだが、ファイル転送やコード変換や結構煩わしい状況になりそう。

 

で、ちょっと調べてみるとDBですがsqliteが結構お手軽そうで試してみる。

 

で、うん十年ぶりにsqlのお勉強をしながら、CREATE TABLE や csv の inport やらを試す。

DB Browser(SQLite)を使えば、SQLを使えない人も、閲覧やフィルターでの絞り込みなんかも、割と簡単につかえるので、便利かも。

 

パフォーマンスを検証したいんで、適当に大きなcsvを探して見ると、国税庁が全国の企業情報をCSVで公開している情報に辿り着きダウンロード。

shchema を探したが見つけられなかったので、CSV項目情報から作成したんで、貼り付けときます。(DB BrowserでインポートしてもOKですが)

 

create table corporateData(
    sequenceNumber         integer,
    corporateNumber     integer,
    process        integer,
    correct         integer,
    updateDate         text,
    changeDate         text,
    name             text,
    nameImageId         text,
    kind             integer,
    prefectureName         text,
    cityName         text,
    streetNumber         text,
    addressImageId         text,
    prefectureCode         integer,
    cityCode         integer,
    postCode         integer,
    addressOutside         text,
    addressOutsideImageId     text,
    closeDate         text,
    closeCause         text,
    successorCorporateNumber text,
    changeCause         text,
    assignmentDate         text,
    latest             integer,
    enName             text,
    enPrefectureName     text,
    enCityName         text,
    enAddressOutside     text,
    furigana         text,
    hihyoji            integer
);