我需要将其data.frame导出并导出为CSV文件(或其他内容,但CSV似乎是最简单的格式),因此我可以将其导入SQLite数据库.
但是,看起来write.csv()我需要写一个标题行,而SQLite的.import命令要求我没有标题行.所以这有点不匹配.
如果我尝试省略标题行,会发生以下情况:
> write.csv(mydf, "/tmp/mydf.csv", row.names=F, col.names=F)
Warning message:
In write.csv(mydf, "/tmp/mydf.csv", row.names = F, col.names = F) :
attempt to set 'col.names' ignored
Run Code Online (Sandbox Code Playgroud)
我想知道为什么它的执行,在第一个地方-手册上说"这些包装是故意不灵活.它们的设计,以确保正确的约定是用来写一个有效文件,试图改变append,col.names,sep,dec或者qmethod被忽略,警告." 但我知道规范或其他需要列名的任何内容 - 事实上,大多数工具(Excel等)都没有特别对待它们.
Dir*_*tel 109
如果你无法击败他们,请加入他们.
如果你切换到write.table()(write.csv()无论如何都要打电话)你是金色的:
R> write.table(trees, file="/tmp/trees.csv",
+ row.names=FALSE, col.names=FALSE, sep=",")
R> system("head /tmp/trees.csv")
8.3,70,10.3
8.6,65,10.3
8.8,63,10.2
10.5,72,16.4
10.7,81,18.8
10.8,83,19.7
11,66,15.6
11,75,18.2
11.1,80,22.6
11.2,75,19.9
R>
Run Code Online (Sandbox Code Playgroud)
G. *_*eck 10
您可以直接将其导入SQLite.下面将内置数据框BOD导入SQLite数据库my.db(my.db如果它尚不存在则创建).
library(RSQLite)
con <- dbConnect(SQLite(), dbname = "my.db")
dbWriteTable(con, "BOD", BOD, row.names = FALSE)
dbDisconnect(con)
Run Code Online (Sandbox Code Playgroud)
使用write.table()代码如下:
write.table(mydf, "/tmp/mydf.csv", row.names=F, col.names=F, sep=",")
Run Code Online (Sandbox Code Playgroud)