dポイントプレゼントキャンペーン実施中!

sqlite(spatialite_gui)でのとあるフォルダにあるcsvファイルをデータベース上に読みこむ方法を知りたいです。
最近sqlを勉強し始めました。
現在Eドライブの「result_csv」というフォルダ内に0001.csvから2000.csvという2000ファイルのcsvが存在しています。例えば0001.csvファイルの中には
time,x,y,velo,acc,prop
という5列分のデータがあり、全ファイル同じデータ形式となっております。

そこで
①ファイルそれぞれをテーブルとして取り込みたい。
0001.csvから2000.csvファイルを0001や0002といったテーブル名でファイルを全部読みこませたい。現在は手動で一個ずつ読みこませなきゃという感じでやっておりましたが、これではちょっと。(spatialite_guiを使っておりますが、それ以外で読みこむ時に楽なソフトがあれば教えてください。むしろ、地物情報を持たなくてもいいのでgui系で使えるおすすめのsqliteソフトがあれば知りたいです。)

②すべてのファイルを一つのテーブルに読みこませたい。
例えばresultというテーブルに0001.csvから2000.csvまでを読みこんだテーブルが作りたい。その時に
name,time,x,y,velo,acc,prop
というようにテーブルを作り、「name」という列にはファイル名(0001や0002といった拡張子を除いたファイル名)を付けてほしい。
現在はこのやり方が分からないため①でファイルを読みこませたのちにinsert構文を使ってファイルを結合しています。もし、①の手順を省いていきなり②を行う方法があればなおありがたい。

ちょっと分かりにくい内容になりましたが、よろしくお願いします。

A 回答 (1件)

sqlite自身だと、.importコマンドでデータベース等ファイルのテーブルをインポートすることができます。


(https://www.sqlite.org/cli.html)
複数のファイルを別々のテーブルに読み込み、サブクエリで合成テーブルにinsertすれば合成することができるかもしれません。
spatialite_guiは使ったことがないですが、下記の公式ドキュメントの最後に、ファイルのテーブルをインポートするようなスクリプトが書かれています。
http://www.gaia-gis.it/gaia-sins/spatialite-gui- …
 spatialite_gui-1.5.0.pdf
GUIからではなく、スクリプトならできるのかもしれません。
ただ、.loadshpコマンド等、sqlite自身にはないコマンドが使われているため、調べる必要があるかと思います。
    • good
    • 0
この回答へのお礼

情報ありがとうございます。
guiで作業ができるためspatialite_guiを使っておりますが、.importコマンドというのがsqlite自体にはあるのですね。そちらについても調べてみます。

お礼日時:2019/04/23 22:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す