掌握R语言文件读取方法

article/2025/11/8 1:56:41

目标

  • 掌握 R语言文件读取方法

学习笔记

  1. utils包内Date Input用法
  2. base包内readLines用法
  3. stringi包内stri_read_lines
  4. xlsx包内Date Input用法
  5. readr包内 Read a delimited file 用法

1.utils包内Date Input用法

以read.table为例。

read.table参数详细说明见http://www.360doc.com/showweb/0/0/1029326103.aspx

read.table(file, header = FALSE, sep = “”, quote = “”'",
dec = “.”, numerals = c(“allow.loss”, “warn.loss”, “no.loss”),
row.names, col.names, as.is = !stringsAsFactors,
na.strings = “NA”, colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE, fill = !blank.lines.skip,
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = “#”,
allowEscapes = FALSE, flush = FALSE,
stringsAsFactors = FALSE,
fileEncoding = “”, encoding = “unknown”, text, skipNul = FALSE)


参数file

写法1:“文件名称”,如果不写路径,是会在当前路径下读取,可用getwd()获取当前路径。可用setwd(“路径”)修改当前路径。
写法2:绝对路径\文件名称,比如“D: \…\test.xlsx”。
写法2:“clipboard”,利用复制,然后读取

getwd()
setwd("....\\...")#输入想要设置的路径

在工作路径中设计一张表来测试,命名为test.xlsx 。
在这里插入图片描述

x1<-read.table('test.xlsx')
View(x1)

x1为
在这里插入图片描述

x1<-read.table(‘test.xlsx’)
Warning messages:
1: In read.table(“test.xlsx”) : line 1 appears to contain embedded nulls
2: In read.table(“test.xlsx”) :
incomplete final line found by readTableHeader on ‘test.xlsx’

报错“incomplete final line”,表示识别不到excel哪里是最后一行,我也不知道该怎么在excel里表示最后一行,所以建议不用read.table() 直接读excel

解决办法:复制数据到txt文件里,命名为test.txt

x2<-read.table('test.txt')
print(x2)

x2为
在这里插入图片描述
可以看到第一行不被读取,为什么?这就要看下参数comment.char了


参数comment.char

这个参数用来识别注释字符的开始,默认值为“#”,所以我的txt里的#开头的一行被识别为注释,不会被读取。所以设置comment.char = “”,试下

x2<-read.table('test.txt',comment.char = "")

x2为
在这里插入图片描述
那我现在想把第一行作为表头,就要设置参数header了。


参数header

默认为false,表示第一行不作为表头。若想将第一行作为表头,可设置为TURE。

x2<-read.table('test.txt',comment.char = "",header = TRUE)

x2见下图,表头里本来为#的,无法识别,被记为X.
在这里插入图片描述

想要指定列名,行名,就要用到参数 row.names和col.names了


参数 row.names和col.names

以改变列名举例,

x2<-read.table('test.txt',comment.char = "",header = TRUE,col.names=c("a","b","c"))

x2为
在这里插入图片描述
列名修改成功。
这里为什么会用函数c()?函数c()会将赋值结合成向量或者列表,我习惯用这个。

可以用class()查看读取后的数据类型

class(x2)
[1] “data.frame”

可见read.table() 主要用来读取表格型数据,读入后为"data.frame"类型的数据。

以上为read.table的用法研究。


在utils包下除了read.table这个,还有这些读取文件的方法,参数类似,但默认值有所区别。

read.csv(file, header = TRUE, sep = “,”, quote = “”",
dec = “.”, fill = TRUE, comment.char = “”, …)

read.csv2(file, header = TRUE, sep = “;”, quote = “”",
dec = “,”, fill = TRUE, comment.char = “”, …)

read.delim(file, header = TRUE, sep = “\t”, quote = “”",
dec = “.”, fill = TRUE, comment.char = “”, …)

read.delim2(file, header = TRUE, sep = “\t”, quote = “”",
dec = “,”, fill = TRUE, comment.char = “”, …)

2. base包内readLines用法

readLines(con = stdin(), n = -1L, ok = TRUE, warn = TRUE,
encoding = “unknown”, skipNul = FALSE)

x3<-readLines(‘test.txt’)
x3
[1] “#\t中文\tEnglish” “1\t2\t3”
[3] “4\t5\t6” “中文\t8\t9”
[5] “13\tEnglish\t9” “13\t14\t%”
[7] “16\t17\t18” “19\t20\t21”
class(x3)
[1] “character”

对于表格型数据,readLines会把制表符识别为“\t”.

3. stringi包内stri_read_lines

stri_read_lines(con, encoding = NULL, fname = con, fallback_encoding = NULL)

首先安装stringi包

install.packages("stringi")
library(stringi)

x3<-stri_read_lines(‘test.txt’)
x3
[1] “#\t中文\tEnglish” “1\t2\t3”
[3] “4\t5\t6” “中文\t8\t9”
[5] “13\tEnglish\t9” “13\t14\t%”
[7] “16\t17\t18” “19\t20\t21”
class(x3)
[1] “character”

对于表格型数据,stri_read_lines会把制表符识别为“\t”.

4.xlsx包内Date Input用法

首先需要用install.packages()安装xlsx包,然后用library()加载包。

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

如果电脑上没有安装Java,此时会报错

错误: package or namespace load failed for ‘xlsx’:
loadNamespace()里算’rJava’时.onLoad失败了,详细内容: 调用: fun(libname, pkgname)
错误: JAVA_HOME cannot be determined from the Registry

所以需要通过官网https://www.oracle.com/java/technologies/javase-downloads.html 安装Java.

但是报错。等我解决了这个问题再继续研究。
在这里插入图片描述

5. readr包内 Read a delimited file 用法

read_delim(
file,
delim = NULL,
quote = “”“,
escape_backslash = FALSE,
escape_double = TRUE,
col_names = TRUE,
col_types = NULL,col_select = NULL,
id = NULL,
locale = default_locale(),
na = c(”", “NA”),
quoted_na = TRUE,
comment = “”,
trim_ws = FALSE,
skip = 0,
n_max = Inf,
guess_max = min(1000, n_max),
name_repair = “unique”,
num_threads = readr_threads(),
progress = show_progress(),
show_col_types = should_show_types(),
skip_empty_rows = TRUE,
lazy = should_read_lazy()
)

read_csv(
file,
col_names = TRUE,
col_types = NULL,
col_select = NULL,
id = NULL,
locale = default_locale(),
na = c(“”, “NA”),
quoted_na = TRUE,
quote = “”",
comment = “”,
trim_ws = TRUE,
skip = 0,
n_max = Inf,
guess_max = min(1000, n_max),
name_repair = “unique”,
num_threads = readr_threads(),
progress = show_progress(),
show_col_types = should_show_types(),
skip_empty_rows = TRUE,
lazy = should_read_lazy()
)

read_csv2(
file,
col_names = TRUE,
col_types = NULL,
col_select = NULL,
id = NULL,
locale = default_locale(),
na = c(“”, “NA”),
quoted_na = TRUE,
quote = “”",
comment = “”,
trim_ws = TRUE,
skip = 0,
n_max = Inf,
guess_max = min(1000, n_max),
progress = show_progress(),
name_repair = “unique”,
num_threads = readr_threads(),
show_col_types = should_show_types(),
skip_empty_rows = TRUE,
lazy = should_read_lazy()
)

read_tsv(
file,
col_names = TRUE,
col_types = NULL,
col_select = NULL,
id = NULL,
locale = default_locale(),
na = c(“”, “NA”),
quoted_na = TRUE,
quote = “”",
comment = “”,
trim_ws = TRUE,
skip = 0,
n_max = Inf,
guess_max = min(1000, n_max),
progress = show_progress(),
name_repair = “unique”,
num_threads = readr_threads(),
show_col_types = should_show_types(),
skip_empty_rows = TRUE,
lazy = should_read_lazy()
)


http://chatgpt.dhexx.cn/article/5Rrq3rn1.shtml

相关文章

R语言入门(15)_读取文件(read)

目录 一、read.table() 读取工作路径下的纯文本文件&#xff08;.txt&#xff09;(.csv) 1、工作路径的设置 2、head函数——只显示数据前几行 3、read.table()的其他一些参数 二、与read.table相类似的函数 三、read.table()读取网络上的文本文件 三、读取非文本文件 …

使用R读取并查看数据

本篇文章介绍如何使用R读取并查看数据&#xff0c;包含一些最基础的函数使用方法和说明。后面还会陆续介绍数据清洗&#xff0c;匹配和提取等相关的操作。 查看函数帮助 对于新手来说&#xff0c;在使用R时最重要的是了解不同函数的使用方法。很多时候我们都是边用边学的状态&…

R语言如何从外部读取数据到R中

R语言可以从键盘&#xff0c;文本&#xff0c;excel&#xff0c;access&#xff0c;数据库&#xff0c;专业处理软件sas 一、使用键盘的输入 mydata<-data.frame(agenumeric(0),gendercharacter(0),weightnumeric(0)) mydata<-edit(mydata) 二、读入带有分隔符文本格式…

R语言入门——数据快速读取与查看(含实例代码和参数讲解)

R语言数据读取 介绍引言结构安排 数据读取函数文本数据readLines函数 键盘键入数据scan函数讲解 表格数据.xlsx文件介绍表格数据函数参数介绍 快速读入参数介绍竞赛数据练习2020美赛C题2019华为杯E题 数据查看函数表 介绍 引言 毕业季来临&#xff0c;很多小伙伴都在积极准备…

R语言读CSV、txt文件方式以及read.table read.csv 和readr(大数据读取包)

首先准备测试数据*(mtcars)分别为CSV. TXT **2018博客之星评选&#xff0c;如果喜欢我的文章&#xff0c;请投我一票&#xff0c;编号&#xff1a;No.009** [支持连接](https://blog.csdn.net/HHTNAN/article/details/85330758) ,万分感谢&#xff01;&#xff01;&#x…

R语言之读取文件夹的数据

读取文件路径&#xff1a;一层目录&#xff08;“示例”&#xff09;、二层目录&#xff08;“数据1”、“数据2”&#xff09;下的表格数据。 “示例”文件下&#xff1a; “数据1”文件下&#xff1a; “数据2”文件下&#xff1a; 读取文件夹 rm(listls()) #清除变量 …

R入门(一)----读取数据、查看数据

感谢大鹏dapengde 创建数据 #在相应位置新建文件夹 dir.create(E:/R/R lab/学R/r4r) #将数据文件存进文件夹 write.csv(as.data.frame(t(matrix(co2,12,dimnames list(month.abb,unique(floor(time(co2))) ) ))),file E:/R/R lab/学R/r4r/co2.csv)读取数据 R数据的导入与…

手把手教你用R语言读取CSV文件

导读&#xff1a;R语言有许多种方法去获取数据&#xff0c;最常用的是读取CSV文件。 作者&#xff1a;Jared P. Lander 来源&#xff1a;大数据DT&#xff08;ID&#xff1a;hzdashuju&#xff09; 读取CSV文件最好的方法是使用read.table函数&#xff0c;许多人喜欢使用read.c…

R语言中 数据读取与写入

R中其他读取: source #读取R代码 dget #读取R文件 load #读取工作空间 一。R语言读取文本文件(.txt) 在R语言中,读取文本文件的函数可以是:read.table()、scan()、read.fwf(),也可以将.txt转换为.csv或.xlsx文件用其他函数读取。 1. read.table() 参数解释: …

R语言——数据格式和数据读取

R语言——数据读取之详解 福尔摩斯曾说过:“数据,数据,没有数据的推理是罪恶!” 不过比起有意思的统计分析,数据的导入与导出显得十分的无趣,但是不得不说统计分析的数据导入与导出是个让人沮丧的任务,而且耗时巨大。 今天分享的是R数据的储存数据格式,及其R中数据的输…

2019-07-15_linux下vi复制粘贴

vi 环境块复制 1、shiftv 进入行选模式 2、上下箭头选中要复制的块 3、“y”复制 4、“p” 粘贴 转载于:https://www.cnblogs.com/wbly2019/p/11187370.html

linux ubuntu vim复制粘贴,关于vim的复制粘贴

今天被vim的复制粘贴弄得很烦,它不像windows那样,每次复制会把以前的内容覆盖。所以有时粘贴出来的东西并不是你想要的。 在不同终端中,用vim打开的两个文件之间的复制粘贴 1. 用同一个终端,直接使用这个命令: vim file1 file2 这样就可以直接用y和p复制粘贴了。 但是这样…

在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全

在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全 行复制&#xff1a; 【yy】复制光标所在行 【p】在光标位置粘贴复制的内容 多行复制&#xff1a; 【v】从当前位置进行可视化模式&#xff08;【Ctrlv】则进行可视化块选择&#xff09; 此时按上下左右箭头移动光标选…

使用pip安装pymysql

本人使用的python版本是3.6&#xff0c;该版本是自带有pip.可以直接通过pip工具进行安装pymysql: 第一步&#xff1a;找到pip.exe路径。 例如我安装的目录如下&#xff0c;自带的pip工具的python版本&#xff0c;在Scripts目录下都能够找到。 第二步&#xff1a;通过cmd进入命令…

pycharm中安装pymysql

进入pycharm终端&#xff0c;输入pip install pymysql进行安装

Python——pymssql安装

下载&#xff1a; https://pypi.python.org/pypi/pymssql/2.0.1#downloads pymssql的安装包&#xff1a; pymssql-2.0.1.win32-py2.7.exe 32位与python对应 pymssql-2.0.0b1.win-amd64-py2.7.exe 64位与python对应 网上没找到&#xff0c;在csdn中下载…

pymysql的安装及使用及使用mysql数据进行可视化(适合入门,过程详细明确,如有错误请一定指出)

文章目录 Python连接MySQL数据库(pymysql)一、准备模块二、连接数据库connect()&cursor()三、对数据库进行操作execute()四、关闭数据库的连接close() 处理MySQL的数据及简单可视化一、简单的使用1.查询2.插入3.更新4.删除 二、获取数据三、可视化 Python连接MySQL数据库(p…

window 安装 pymysql

一、下载安装python-win 点击打开链接 二、下载安装setuptools 点击打开链接 三、下载安装 mysql 点击打开链接 四、安装pymysql 在python中执行python ez_setup.py文件&#xff0c;如果没有配置环境变量&#xff0c;可以在python安装路径中找到python.exe&#xff0c…

pymysql的使用

pymysql是从Python连接到MySQL数据库服务器的接口&#xff0c;其官方文档为&#xff1a;https://pymysql.readthedocs.io/en/latest/ 安装&#xff1a;pip install pymysql 对于数据库的操作&#xff0c;我们一般是这样的操作&#xff1a; 步骤1&#xff1a;连接数据库 步骤2&…

python的pymysql模块安装与使用

文章目录 一、pymysql的安装&#xff1a;二、pymysql基本控制函数&#xff1a;三、数据库数据的添加&#xff1a;四、数据库数据的删除&#xff1a;五、数据库数据的修改&#xff1a;六、数据库数据的批量添加&#xff1a;七、数据库数据的查询(取出)&#xff1a; 一、pymysql的…