我有一个数据框,其中一些列名的格式为 . 格式。例如:Company.1 当我在 sqldf 函数中使用该列时,它会引发错误
data=sqldf(select Company.1 from test)
Error in sqliteExecStatement(con, statement, bind.data) :
RS-DBI driver: (error in statement: near ".1": syntax error)
任何解决方法,以便我可以按原样使用列名?
点在 SQL 中还有另一种含义(例如,将表名与列名分开),并且在将数据发送到 SQLite 之前被下划线替换。
library(sqldf)
test <- data.frame( "Company.1" = 1:10 )
sqldf( 'SELECT Company_1 FROM test' )
此问题与.
您的列名有关,如果您将其更改为Company_1
有效:
data = sqldf("select Company_1 from test")
最新更新的解决方案在这里sqldf
得到解答
我们只需要在单引号之间编写SQL语句,列名包括双引号之间的点或反引号/反引号可互换。