UNIX将LARGE csv导入SQLite
发布时间:2020-12-15 19:03:21 所属栏目:安全 来源:网络整理
导读:我有一个5gig的csv文件(也作为一个sas数据文件,如果它更容易)我需要放入一个sql数据库,所以我可以在R中使用它 变量名称都包含在第一个观察行中,并且是双引号.有1000个变量,其中一些是数字的其他字符(虽然一些字符变量是数字字符串,但我不太担心它我可以在R中
我有一个5gig的csv文件(也作为一个sas数据文件,如果它更容易)我需要放入一个sql数据库,所以我可以在R中使用它
变量名称都包含在第一个观察行中,并且是双引号.有1000个变量,其中一些是数字的其他字符(虽然一些字符变量是数字字符串,但我不太担心它我可以在R中修复它). 我的问题是如何将csv文件导入到我的数据库中的新表中,而且痛苦程度最小? 我发现事情首先要创建你的表(包括指定所有变量,我有1000个),然后使用“.import文件表”来引入数据. 对不起,如果这是SQL 101,但感谢您的帮助.
这是我的工作流程:
library("RSQLite") setwd("~/your/dir") db <- dbConnect(SQLite(),dbname="your_db.sqlite") ## will make,if not present field.types <- list( date="INTEGER",symbol="TEXT",permno="INTEGER",shrcd="INTEGER",prc="REAL",ret="REAL") dbWriteTable(conn=db,name="your_table",value="your_file.csv",row.names=FALSE,header=TRUE,field.types=field.types) dbGetQuery(db,"CREATE INDEX IF NOT EXISTS idx_your_table_date_sym ON crsp (date,symbol)") dbDisconnect(db) field.types不是必需的.如果您不提供此列表,RSQLite将从标题中猜测.索引也不是必需的,但稍后会加快查询速度(如果为查询索引正确的列). 我一直在这里学习很多这样的东西,所以如果你在SQLite上查询我的问题/答案,你可能会发现一些有趣的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |