将用R创建的CSV无效的字节序列导入到Postgres

时间:2018-06-26 08:06:27

标签: r postgresql utf-8

我想将一个大的R data.frame对象导入Postgres。我使用以下命令将对象另存为CSV文件:

> out_file <- paste(input_path, "data.csv", sep="")
> con<-file(out_file, encoding="UTF-8")
> write.csv(df, out_file)

未显示任何错误消息。然后切换到psql,我用COPY发出导入,这将导致此错误:

# COPY data_in FROM 'data.csv' DELIMITER ',' CSV HEADER;
ERROR:  invalid byte sequence for encoding "UTF8": 0xf8
CONTEXT:  COPY data_in, line 74358

哪个软件在这里失败?还是需要更多指导以获得正确的编码?

1 个答案:

答案 0 :(得分:1)

根据我的评论

write.csv(df, out_file,fileEncoding=TRUE)
# write.csv(df, con)

以上任何一种都可以。如果将编码选项添加到连接中,则我认为它不会影响文件本身。