Soru olarak, sqlite kabukta .import
kullanabileceğimi buldum, ancak R ortamında çalışmıyor, herhangi bir öneri var mı?RSqlite kullanarak CSV'yi sqlite'ye nasıl aktarabilirsiniz?
cevap
sqldf
paketinde read.csv.sql
'u kullanabilirsiniz. Okumak için sadece bir kod satırı. İçine bir dosya, bu deneyin ardından okumak Yeni bir veritabanı, testingdb oluşturmak istediğiniz varsayarsak, ve:
# 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")
yukarıda RSQLite kullandığı sqldf kullanır. RSQLite'yi doğrudan da kullanabilirsiniz. RSQLite'de ?dbWriteTable
'a bakın. dbWriteTable
ile sqldf
'un otomatik olarak (genellikle) işleyeceği doğrudan doğruya satır sonlarında sorun olabileceğini unutmayın.
Niyetiniz hemen veritabanına okuduktan sonra R dosyayı okumak ve eğer gerçekten bundan sonra veritabanını gerekmiyorsa o zaman bakın:
http://code.google.com/p/sqldf/#Example_13._read.csv.sql_and_read.csv2.sql
Ben sqldf paketi ile bunu eğilimindedir:
Quickly reading very large tables as dataframes in R yukarıdaki örnekte Geçici bir sqlite db içine csv okumak unutmayın. Belli ki biraz değiştirmelisin.
- 1. H5PY kullanarak HDF5 dosyasını NumPy'ye nasıl dışa aktarabilirsiniz?
- 2. Geniş tar.gz dosyasının içeriğini STDOUT'a nasıl aktarabilirsiniz?
- 3. Metni belirli bir genişliğe nasıl yeniden aktarabilirsiniz?
- 4. Tablo html tablosunu PDF'ye nasıl aktarabilirsiniz?
- 5. ImmutableJS'de, yeni bir diziyi bir haritaya nasıl aktarabilirsiniz?
- 6. EC2 kullanımı için görüntüyü Amazon EBS birimine nasıl aktarabilirsiniz?
- 7. ESS & Knitr/Sweave: Rnw dosyasını etkileşimli bir oturuma nasıl aktarabilirsiniz?
- 8. Python'daki bir dosyayı adıyla boşluklarla nasıl içe aktarabilirsiniz?
- 9. Geçerli nesneyi ng-yineleme içinde $ mdDialog'a nasıl aktarabilirsiniz?
- 10. Sayısız sütun değerini bir arada yapıştırırken NA değerlerini nasıl aktarabilirsiniz?
- 11. Linker seçeneklerini komut satırı üzerinden msbuild'e nasıl aktarabilirsiniz?
- 12. Android Studio'yu kullanarak bir Emülatör Örneğine Nasıl Dosya Aktarılır
- 13. Bir enonu C++ ile farklı bir ad alanına nasıl içe aktarabilirsiniz?
- 14. Save-As penceresini açarak kendoui dataviz grafiğini (.png) veya (.jpg) görüntü formatlarına nasıl aktarabilirsiniz?
- 15. Proguard hataları artık başarıyla benim Android projelerin herhangi aktarabilirsiniz ADT 20 güncelledikten sonra ADT 20
- 16. Akışları kullanarak nasıl yazılır?
- 17. DownloadManager'ı kullanarak nasıl duraklatılır?
- 18. StackExchange.Redis kullanarak flushdb nasıl?
- 19. Nasıl Java kullanarak .w3w.
- 20. JQuery kullanarak JSON nasıl işlenir?
- 21. jquery kullanarak kodumu nasıl basitleştirebilirim?
- 22. Sphinx kullanarak istisna nasıl belgelenir
- 23. Demeti kullanarak Django nasıl kurulur?
- 24. JQuery kullanarak Ckeditor nasıl doğrulanır
- 25. JMagick kullanarak colorspace nasıl dönüştürülür?
- 26. WP7 C# kullanarak nasıl gönderilir?
- 27. Blur Nasıl Div CSS kullanarak
- 28. Kullanıcılar Devise'yi kullanarak nasıl kilitlenir?
- 29. Libcurl kullanarak görüntü nasıl kaydedilir
- 30. Linq kullanarak hiyerarşi nasıl yansıtılır?
sqldf harika! Bu cevaba da bakın http://stackoverflow.com/questions/4350131/unix-importing-large-csv-into-sqlite – Jay
, ancak oturumun sonunda dosyayı siler. Onu tutmak için herhangi bir yol? – xiaodai
@xiaodai, sqldf yukarıdaki kodda veritabanı veya giriş dosyasını silmez. sqldf oluşturduğu herhangi bir veritabanını siler ama sqldf hiçbir zaman giriş dosyasını silmez ve yaratmadığı veritabanlarını silmez. Bu durumda veritabanı sqldf tarafından oluşturulmamıştır (onun backend SQLite tarafından yaratılan 'attach' ifadesiyle - ön uç sqldf tarafından değil) bu yüzden sqldf onu silmez. Sqldf'in veri çerçevelerinin ad hoc manipülasyonu için tasarlandığını, ancak kalıcı veritabanları ile ilgileniyorsanız, doğrudan RSQLite, RH2 veya diğer veritabanı arayüz paketlerini kullanmak isteyebilirsiniz. –