如何才能拿R读取Excel文件

Python014

如何才能拿R读取Excel文件,第1张

R语言读取excel文件文件其实有很多的包可以做到,最常用的就是xlsx和readxl, 首先,安装并载入读取excel文件所用的包:

install.packages("xlsx") library(xlsx)

或者,

install.packages("readxl") library(readxl)

两个包的基本介绍

xlsx是用R把excel文件中的工作表以data.frame的格式读入R语言,他有两个常用函数,其中read.xlsx2通常会比read.xlsx读取的速度更快一些,因为它的好多工作是利用Java完成的,所以速度有所提升,但是在读取子数据集的时候没有read.xlsx稳定性好。

read.xlsx(file, sheetIndex, sheetName=NULL, rowIndex=NULL, startRow=NULL, endRow=NULL, colIndex=NULL, as.data.frame=TRUE, header=TRUE, colClasses=NA, keepFormulas=FALSE, encoding="unknown", ...)

read.xlsx2(file, sheetIndex, sheetName=NULL, startRow=1, colIndex=NULL, endRow=NULL, as.data.frame=TRUE, header=TRUE, colClasses="character", ...)

注:

sheetIndex:工作表单号

rowIndex:行号,就是你想读取那些行

header:表头,就是有没有列名。比如姓名,年龄,学号等

startRow:比如你想从第五行开始读取,就设置startRow = 5

readxl包可以用来读取xls和xlsx格式的文件

read_excel(path, sheet = 1, col_names = TRUE, col_types = NULL, na = "", skip = 0)

注:

sheet:读取的工作表

col_names: 如果是FALSE的话,就表示第一行不是列名,R会自动给你取成x1,x2...

colt_types: blank,numeric,date,text

na: 缺失值,默认空着的单元是缺失值,你也可以自己指定,比如认为999是缺失值

参考文章地址(https://zhuanlan.zhihu.com/p/120422644)

逗号分隔文件 (.csv文件)、 制表符分隔文件 (.tsv文件)和 空格分隔文件 (.txt文件)

(一).csv文件的读取

mydata <- read.csv(file=" ", header=T, sep=",", quote="\", dec=".", fill=T, comment.char=" ")

comment.char用于设置需要跳过的内容,比如需要跳过的行前面有“#”,那么设置comment.char=“#”,当然你也可以设置从中间开始读,注意,这个函数是read.csv里面的哦!

file: 以csv结尾的文件名,由文件所在路径及其文件名构成

header:是否把第一行作为表头

sep:分隔方式,csv文件分隔读入参数设置为"."

                               tsv文件分隔读入参数设置为"\t"

                               txt文件分隔为空格,不需要设置sep参数

也可以通过mydata <- read.table("D:/mydata.csv", header=T, sep=",", row.names="id")读取

(二).tsv文件的读取

mydata <- read.table("D:/mydata.tsv", header=T, sep="\t", row.names="id")

除了分隔方式跟上面一样

(三).txt文件的读取

mydata <- read.table("c:/mydata.txt", header=TRUE, row.names="id")

除了分隔方式跟上面一样

(四)以.gz结尾的压缩文件的读取

1.在R中可以使用gzfile()的方式读取压缩文件

2.使用data.table包里的fread()函数

安装并加载data.table包

install.packages("data.table")

library(data.table)

使用fread()函数读取文件,这里参数和之前的一致,唯一的不同就是fread()可以直接读取压缩文件

mydata <- fread(‘c:/mydata.txt.gz’, header=T, row.names=’id’)

(五)读取.xlsx后缀文件,也就是excel文件

1. 安装并加载openxlsx包

install.packages("openxlsx")

library(openxlsx)

2.进行数据的导入

mydata <- read.xlsx( "mydata.xlsx",rowNames=T)

其他参数可以通过? read.xlsx在R中根据需要进行添加的。

需要添加一个表头

1.read.table:可以读TXT也可以读CSV(1)file:文件,(2)header:是否包含表头,(3)sep:分隔符,如果不设定默认是空格,(4)dec:标志小数点符号,有些国家的小数点是逗号,(5)quote:字符串中间如果有引号的处理,(6)row.names:行名,行名不能重复。row.names=1,表示将第一列设置为行号,(7)col.names:列名。