0

我想使用 RSQLite 将一堆大文本文件导入 SQLite 数据库。如果我的数据用逗号分隔,我会这样做:

library(DBI)
library(RSQLite)
db <- dbConnect(SQLite(), dbname = 'my_db.sqlite')
dbWriteTable(conn=db, name='my_table', value='my_file.csv')

但是用 '\t' 分隔的数据呢?我知道我可以将数据读入 R data.frame,然后从中创建表,但我想直接进入 SQLite,因为有很多大文件。当我用我的数据尝试上述方法时,我得到一个单一的字符字段。

我可以使用 sep='\t' 之类的选项吗?我尝试只添加 sep='\t',如下所示:

dbWriteTable(conn=db, name='my_table', value='my_file.csv', sep='\t')

编辑:事实上这很好用,但是我正在使用的文件中的一个缺陷导致了一个错误。如果你像我一样有标题,添加 header=TRUE 也很好。

4

1 回答 1

4

尝试以下操作:

dbWriteTable(conn=db, name='my_table', value='my_file.csv', sep='\t')

根据http://cran.r-project.org/web/packages/RMySQL/RMySQL.pdf第 21 页顶部的以下内容

当 dbWriteTable 用于从文件导入数据时,您可以选择指定 header=、row.names=、col.names=、sep=、eol=、field.types=、skip= 和 quote=。

[剪辑]

sep= 指定字段分隔符,默认为','。

于 2014-08-08T01:08:20.717 回答