質問として、私は.import
sqliteシェルで使用できることがわかりましたが、R環境、任意の提案で動作していないようですね?RSqliteを使用してCSVをsqliteにインポートするには?
9
A
答えて
19
sqldf
パッケージにread.csv.sql
を使用できます。読み取りを行うのは1行のコードだけです。これを試して、それにファイルを読んで、その後、新しいデータベースを作成したいと仮定testingdb、および:
# create a test file
write.table(iris, "iris.csv", sep = ",", quote = FALSE, row.names = FALSE)
# create an empty database.
# can skip this step if database already exists.
sqldf("attach testingdb as new")
# or: cat(file = "testingdb")
# read into table called iris in the testingdb sqlite database
library(sqldf)
read.csv.sql("iris.csv", sql = "create table main.iris as select * from file",
dbname = "testingdb")
# look at first three lines
sqldf("select * from main.iris limit 3", dbname = "testingdb")
以上がRSQLiteを使用していますsqldfを使用しています。 RSQLiteを直接使用することもできます。 RSQLiteの?dbWriteTable
を参照してください。 dbWriteTable
と直接処理すると、sqldf
が自動的に(通常は)処理されるため、行末に問題がある可能性があることに注意してください。
あなたの意図はすぐにデータベースにそれを読んだ後Rにファイルを読み込むことだったとあなたが本当にその後、データベースを必要としない場合は、以下を参照してください
http://code.google.com/p/sqldf/#Example_13._read.csv.sql_and_read.csv2.sql
2
私はsqldfパッケージであることを行う傾向にある。Quickly reading very large tables as dataframes in R
は、上記の例では、私は一時のsqliteのDBにCSVを読むことを覚えておいてください。あなたは明らかにそのビットを変更する必要があります。
関連する問題
- 1. RSqliteを使用してsqliteをCSVにエクスポートするには?
- 2. CSVをSQLiteにインポート
- 3. iphoneアプリケーションでCSVデータを動的にsqliteにインポートするには
- 4. CSVファイルをiphone sdkのSqliteデータベースにインポート
- 5. Rubyスクリプトを使用してCSVファイルをsqlite3にインポートする
- 6. マクロを使用してcsvファイルをExcelワークシートにインポートする
- 7. マクロを使用してcsvからmsアクセステーブルにインポートする
- 8. RSQLiteで日付を使用する
- 9. asp.netを使用してcsvをgridviewにインポート
- 10. django Webアプリケーションを使用してcsvファイルをmysqlデータベースにインポート
- 11. mongoimportを使用してCSVファイルからMongodb ObjectIdをインポートするには?
- 12. Javaを使用し、csvをSQLite3テーブルにプログラムでインポートする
- 13. csvをmysqlとsqliteにインポートする際の改行
- 14. SqlBulkCopyクラスを使用してSQLiteからSQL Serverにデータをインポート
- 15. AccessでADOを使用してCSVデータをインポートする
- 16. d3.jsを使用して.csvからデータをインポートする
- 17. SASを使用して3070フィールドのCSVファイルをインポートする
- 18. バルク挿入を使用して.csvファイルをインポートする
- 19. iPhone:CSVファイルをSqliteデータベースにインポートする際に使用するエンコーディングスキーム
- 20. phpMyAdminを使用して大きなcsvファイルをインポートします。
- 21. ASP.NETとC#を使用してSQL Serverにcsvファイルをインポートする
- 22. DoCmd.TransferTextネットワーク権限を使用してmsアクセスにcsvファイルをインポートする
- 23. CSVをMYSQLにインポートする
- 24. FileUploadを使用して.CSVからSQLにデータをインポートしますか?
- 25. テキストデータをsqliteにインポートするには?
- 26. .MDBを作成してPythonを使用してCSVをインポートする方法
- 27. CSVをpostgresにインポート
- 28. Android AppsへのCSVファイルのインポートSqliteデータベース
- 29. LOAD DATA INFILEを使用してCSVをインポートする引用符の問題
- 30. csvにエクスポートsqlite
sqldfは素晴らしいです!この回答もチェックしてください。http://stackoverflow.com/questions/4350131/unix-importing-large-csv-into-sqlite – Jay
しかし、セッションの最後にファイルを削除します。それを保つ方法はありますか? – xiaodai
@xiaodai、sqldfは、上記のコードでデータベースまたは入力ファイルを削除しません。 sqldfは作成するすべてのデータベースを削除しますが、sqldfは入力ファイルを削除せず、作成しないデータベースを削除しません。この場合、データベースはsqldf自身で作成されません(フロントエンドsqldfではなく、 'attach'文でバックエンドSQLiteによって作成されます)、sqldfはそれを削除しません。 sqldfはデータフレームの特別な操作を目的としていますが、永続的なデータベースを扱う場合は、RSQLiteやRH2などのデータベースインターフェイスパッケージを直接使用することをお勧めします。 –