加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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文件表”来引入数据.
或者,使用一些gui导入向导,这对我来说不是一个选项.

对不起,如果这是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上查询我的问题/答案,你可能会发现一些有趣的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读