1. 读取excel文件的辛酸之旅

1. 无法安装R包

安装xlsx包时总是报错: unable to access index for repository https://cran.mtu.edu/src/contrib: cannot open URL 'https://cran.mtu.edu/src/contrib/PACKAGES', 仔细一读,无法连接包的镜像,百度搜索,在网友的指导下设置镜像源,不管怎么设置,还是这个样子,重点是我用谷歌浏览器可以访问这个镜像源,因而排除镜像源的问题。 后来仔细想想了,都要崩溃了,但是为了考试我还是没有放弃,一般而言,这种需要联网的程序都是调用IE访问的,我打开IE试一试,结果发现IE无法联网,顿悟,原来是浏览器的问题,重置了浏览器就好了。

2. xlsx依赖包的安装顺序

xlsx包依赖两个独立包,rJava和xlsxjars,这两个包必须先安装,安装顺序为:

install.packages("rJava")
install.packages("xlsxjars")
install.packages("xlsx")

发现rjava不能安装,提示Java不存在,说明它运行需要java环境,那就安装JDK.

3. 安装JDK

jdk就是java开发软件,有些软件运行的时候需要java环境,需要安装JDK,安装方法,百度JDK 下载安装,需要主要: 版本需要与r对应:R是64位的则需要安装64位的JDK,32位的R就安装32位的JDK.

安装好JDK后,重复步骤2,没有报错的话,试一试:

>library(xlsx)

出现以下信息就说明安装成功。

Loading required package: rJava
Loading required package: xlsxjars

到这里还没完,编码还是有问题

4. 编码问题

当Excel文件中有汉字时一定会出现编码问题,使用read.xlsx()函数会报错:

Error in make.names(col.names, unique = TRUE) : 
  invalid multibyte string 23

在函数中加入编码方式的参数即可解决:

data = read.xlsx("input_data.xlsx", sheetIndex = 1, encoding = "UTF-8")

一定要把Excel文件放在工作目录下,而不仅仅是和r文件通一个目录,因为工作目录不一定在是在该目录。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

Python+tkinter模拟“记住我”自动登录原理

基本思路:如果某次登录成功,则创建临时文件记录有关信息,每次启动程序时尝试自动获取上次登录成功的信息并自动编写。本文主要演示思路,可根据实际系统中的需要进行改写...

2738
来自专栏积累沉淀

Java 命令行运行参数大全

javac 用法:javac <选项> <源文件> 其中,可能的选项包括:   -g                                   ...

39410
来自专栏cnblogs

nodejs 命令行、自定义

一、必备插件 1. babel:es6语法支持,需要babel-perset-es2015(转换成es5执行)、babel、babel-core(程序执行) 2...

2096
来自专栏Golang语言社区

Go语言学习(一):hello world

每学一门语言,程序猿们总是不厌其烦地写一遍hello world,这篇就是Go语言的hello world。 Go语言的环境搭建建议参考《Go We...

3066
来自专栏Java后端技术

在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类

  最近在使用记事本编写带有包名并且有继承关系的java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法。

764
来自专栏林德熙的博客

断点调试 Windows 源代码

本文来告诉大家如何使用断点的方式,在 PotPeek 工具的反编译看到报告的异常。 这个方法对于 DUMP 调试比较有用,可以知道是在哪个函数哪一句抛出的异常。

1203
来自专栏开发与安全

从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态

一、文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostre...

3070
来自专栏Hongten

Struts2 DefaultAction (默认Action)

<default-action-ref name="index"></default-action-ref> 默认的action的引用;当别人访问这个actio...

952
来自专栏古时的风筝

C/C++中动态链接库的创建和调用

DLL 有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。下面为你介绍C/C++...

19210
来自专栏Java开发者杂谈

Eclipse中Program arguments和VM arguments的说明

在运行程序的时候,我们一般可以进行run configuration的配置,就比如tomcat源码导入eclipse之后,我们可以发现其运行配置如下: ? 其中...

2636

扫码关注云+社区