У меня есть следующий кадр данных
df<-data.frame(
SLNO=c(1:5),
sentence=c("Campaign Blast all channels Team may8t", "MDC Email Campaign 1 on june 13", "Email camp Blastteam 09","Email camp Blastteam 09", "Email camp Blastteam 09thcamp"
)
Я пишу кадр данных в таблицу SQL, используя следующий код
require(rmysql)
require(rsqlite)
name<-'username'
password<-'userpass'
hostname<-'1.2.3.4'
port<-2222
database<-'db'
connection1<-dbConnect(dbDriver("MySQL"), user=username,
password=userpass, dbname= db, host=hostname, port=port)
Таблица, в которую я пишу, уже существует в базе данных db-table
dbWriteTable(custdbconn, value = df,
name ='table' , overwrite=F, append=T,
field.types=list(SlNo= 'int()', Sentence= 'text'), row.names=F)
Я получаю сообщение об ошибке
Invalid utf8 character string: 'MDC Email Campaign 1 on
Если я вставляю строки по отдельности, строки записываются в базу данных SQL. Есть ли способ написать всю эту таблицу без появления ошибки.
<-
внутри назначения столбцаdata.frame
, это не то же самое, что=
здесь. (Обратите внимание, что имена столбцов не сохраняются? Это один из признаков того, что это не идеально.) Во-вторых: я не рекомендую использоватьrequire
таким образом; единственная причина, по которой вы должны когда-либо использоватьrequire
, заключается в том, что вы фиксируете возвращаемое значение и делаете что-то на его основе (ссылки: yihui.name/en/2014/07/library-vs-require и r-pkgs.had.co.nz/namespace.html#search-path). - person r2evans   schedule 12.07.2018