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#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro

C语言逗号运算符和逗号表达式的使用小结

《C语言逗号运算符和逗号表达式的使用小结》本文详细介绍了C语言中的逗号运算符和逗号表达式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接其一般形式为:表达

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

GO语言实现串口简单通讯

《GO语言实现串口简单通讯》本文分享了使用Go语言进行串口通讯的实践过程,详细介绍了串口配置、数据发送与接收的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录背景串口通讯代码代码块分解解析完整代码运行结果背景最近再学习 go 语言,在某宝用5块钱买了个

使用Python实现高效复制Excel行列与单元格

《使用Python实现高效复制Excel行列与单元格》在日常办公自动化或数据处理场景中,复制Excel中的单元格、行、列是高频需求,下面我们就来看看如何使用FreeSpire.XLSforPython... 目录一、环境准备:安装Free Spire.XLS for python二、核心实战:复制 Exce

pandas批量拆分与合并Excel文件的实现示例

《pandas批量拆分与合并Excel文件的实现示例》本文介绍了Pandas中基于整数位置的iloc和基于标签的loc方法进行数据索引和切片的操作,并将大Excel文件拆分合并,具有一定的参考价值,感... 目录一、Pandas 进行索引和切编程片的iloc、loc方法二、Pandas批量拆分与合并Exce

在C#中读取文件的六种主流方法详解

《在C#中读取文件的六种主流方法详解》在C#中读取文件有多种方法,不同方式适用于不同场景(小型文件、大型文件、文本文件或二进制文件),本文给大家介绍了6种主流方法以及其适用场景,需要的朋友可以参考下... 目录方法1:File.ReadAllText(读取整个文本文件)方法2:File.ReadAllLin