我有一个R例程,需要将文本从第三方写入MySQL数据库。该文本通常包含换行符。
不幸的是,
foobar <- as.data.frame(a=1, b='\n')
dbWriteTable(MySQL(), foobar, 'test')
创建一个包含两个记录的表格; '\ n'生成记录中断和空记录。
有关RMySQL的特别之处吗?这是一个众所周知的问题吗?我环顾四周,我没见过有人讨论过。有没有使用不同连接器的解决方法?
答案 0 :(得分:1)
con <- dbConnect(MySQL(), user='user', password='password')
foobar <- as.data.frame(a=1, b='\n')
foobar$b <- dbEscapeStrings(con, foobar$b)
dbWriteTable(con, foobar, 'test')
答案 1 :(得分:0)
在DBI界面中有一个名为dbEscapeStrings的函数。它将字符串转换为一种形式,在这种形式中,它们将以数据库和区域设置敏感的方式正确存储。如果在通过间隙传递字符串之前将其转换为这种方式,那么它们就会正确存储在表格中。