作者lichungtsai (海滩拖鞋)
看板R_Language
标题[问题] R汇入xlsx中文问题
时间Wed Apr 26 21:18:54 2017
各位大家好
想请教一个R汇入xlsx但里头有中文的问题
=====================================================
其中有几个限制:
1.原始的raw data在单一.xlsx中有许多个sheet,所以希望能使用一些能直接读取xlsx的packages来读取,尽量不要手动转csv档
2.原始的raw data参杂简体中文、繁体中文,所以那个packages希望有可以做encoding = UTF-8或Big5之类的函式
=====================================================
那麽我目前试过了三种方法:
第一个:
dtn <- 'launcher_data_2017-01-10-2017-01-17.xlsx'
library(readxl)
launcher_data_2017_01_10_2017_01_17 <- read_xlsx(dtn, sheet = 2)
不过因为这个package他没办法使用encoding = 'UTF-8'之类的函式,所以资料呈现乱码状态
=====================================================
第二个:
dtn <- 'launcher_data_2017-01-10-2017-01-17.xlsx'
library(openxlsx)
app_1 <- read.xlsx(dtn, sheet = 1)
不过因为这个package他也没办法使用encoding = 'UTF-8'之类的函式,所以资料也呈现乱码状态
=====================================================
第三个:
options(java.parameters = "-Xmx8000m")
dtn <- 'launcher_data_2017-01-10-2017-01-17.xlsx'
library(xlsx)
app_1 <- read.xlsx(dtn, sheetIndex = 1, encoding = 'UTF-8')
我已经用第一行增加记忆体
但依然出现了
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: GC overhead limit exceeded
似乎是记忆体不足的问题
=====================================================
第四个:(我最不希望的手动转csv)
app_1 <- read.csv('launcher_data_2017-01-10-2017-01-17.csv', encoding = 'UTF-8')
出现了
Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, numerals = numerals, :
invalid multibyte string at '<e6><9c><ac>?衔<ba>'
我到现在还不懂这代表什麽
总之就是似乎就算手动转csv档,再用encoding = 'UTF-8'也是不可行
=====================================================
不晓得这要怎麽解决?
--
Sent from my Windows
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.217.227.0
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1493212736.A.452.html
1F:→ lichungtsai: 第一和二个方法因为没有UTF-8的转换机制,所以都呈现 04/26 21:20
2F:→ lichungtsai: 乱码 04/26 21:20
4F:→ celestialgod: 看起来readxl已经解决这个问题了 04/27 00:07
5F:→ celestialgod: 如果没有档案,我没办法测试,我自己创的可能不符 04/27 00:07