R语言xlsx包读取含中文Excel文件时出现乱码或“多字节字符串6有错”的解决方案

本文主要是介绍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有错”的解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1005890

相关文章

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

如何解决Spring MVC中响应乱码问题

《如何解决SpringMVC中响应乱码问题》:本文主要介绍如何解决SpringMVC中响应乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC最新响应中乱码解决方式以前的解决办法这是比较通用的一种方法总结Spring MVC最新响应中乱码解