本文主要是介绍R语言xlsx包读取含中文Excel文件时出现乱码或“多字节字符串6有错”的解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
R语言处理含中文Excel文件时,由于编码的不一致,总会出现各种各样的问题。例如,使用xlsx包读取xlsx文件时,若内容中含有中文,就会出现乱码,甚至会报错。
例如使用这个表格:
data1 <- read.xlsx("人员信息.xlsx",sheetName="Sheet1",header=T) #转换为UTF-8编码
输出结果:
> data1濮撳悕 鎬у埆 AGE 鑱屼綅
1 灏忔槑 鐢<b7> 21 缁忕悊
2 鑰佺帇 鐢<b7> 22 鍓粡鐞<86>
3 寮犱笁 濂<b3> 23 鎶€鏈憳
4 鏉庡洓 濂<b3> 24 椤鹃棶
5 Tom M 25 Professor
6 Jack M 26 Assistant
7 Amy Bat F 27 Clerk
有些数据甚至会直接报错。
Error in make.names(vnames, unique = TRUE) : 多字节字符串6有错
那么应该如何解决呢?
对于这种问题,只需要在读入数据时,指定编码属性encoding=‘UTF-8’。
data1 <- read.xlsx("人员信息.xlsx",sheetName="Sheet1",header=T, encoding='UTF-8') #转换为UTF-8编码
这样就可以读取成功了。
> data1姓名 性别 AGE 职位
1 小明 男 21 经理
2 老王 男 22 副经理
3 张三 女 23 技术员
4 李四 女 24 顾问
5 Tom M 25 Professor
6 Jack M 26 Assistant
7 Amy Bat F 27 Clerk
这样就解决了乱码的问题。
此外,对于如果读取csv文件出现乱码,但文件本身没有问题的情况,可以使用Notepad++软件打开,点击编码-转为ANSI编码后保存。再次使用R读取csv即可。
这篇关于R语言xlsx包读取含中文Excel文件时出现乱码或“多字节字符串6有错”的解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!