服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - R语言 - R语言中文本文件分割 符号 sep的用法

R语言中文本文件分割 符号 sep的用法

2022-01-12 14:44奋斗的code R语言

这篇文章主要介绍了R语言中文本文件分割 符号 sep的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一般情况下:

csv 文件 sep = “,” # 以逗号分割

txt 文件 sep = “\t” #以制表符分割

其他文件 sep = " " #以空格分割

 

具体情况,具体调整

sep= 文件中的字段分离符,用于文件数据文本的读取和保存过程中指定分割符号。

补充:用R语言把超大文本文件拆分成几个小文本文件

近一段时间一直在研究一些医院的数据。

前两天遇到一个尴尬:想打开一个仅有3G左右的文本文件(有时候必须要打开,直接传到数据库满足不了需求),破电脑(4G内存的电脑)就是打不开(用的Notepad++)。

就是这造型:

R语言中文本文件分割 符号 sep的用法

上网搜了一些方法,下了一些比较不常用的文本处理工具和其它工具,也不理想。

得知好多人在许多场景都需要打开或者拆分8G甚至10G以上的文本文件,于是想着自己研究一下。

 

下面就是我用R来拆分大文本的过程

虽然方法比较笨,但是简单轻巧、思路清晰。

1.首先把你想要拆分的大文本文件放到R的当前工作目录下

我的文件名在这里叫details.txt。

2.用函数split_file()来拆分大文本文件

split_file()函数是自定义的一个函数,用来拆分超大文本文件。

它总共有两个参数filename和eachfile_lines_num,即split_file(filename,eachfile_lines_num)。

filename是指需要拆分的超大文本的名字,eachfile_lines_num是指拆分完的每一个文件中有多少行数据。

split_file()会返回一个数值,代表了总共拆分成的小文本的数量。

split_file()拆分出来的文件会放置在R当前的工作目录下。

使用如:

split_file("details.txt",1000000),它把名为details.txt的超大文本文件拆分为每个文件只有1000000行的一个个的小文本文件。

split_file()的细节:

file_split <- function(filename,eachfile_lines_num){                               #建立函数
	c <- file(filename,"r")                                                    #建立链接
	varnames <- paste("splitfile", 1:1000, sep = "_")                          #建立尽可能多但不要太多的动态变量名
	i <- 1                                                                     #初始值
	while(TRUE){
		assign(varnames[i],value = readLines(c,n = eachfile_lines_num))    #分别把从filename中读出来的数据存放在变量中 
		write.table(get(varnames[i]),paste(varnames[i],".txt",sep = ""))   #分别把存放在变量中的数据写出到文件中
		if (length(get(varnames[i])) < eachfile_lines_num) break           
		else i <- i + 1                                                    #判断循环停止条件
}
	return(i)                                                                  #返回文件数量
}

我执行完file_split("details.txt",500000)之后得到了30多个文件:

R语言中文本文件分割 符号 sep的用法

3.对拆分的文件进行处理

由于过程中用到了readLines(),因此拆出来的文件每一行是一个字符串,有引号。

这好像不符合要求,只需用Windows记事本或notepad++或其他文本处理应用处理一下就行。

在notepad++中执行“搜索 -> 替换”把双引号替换成\0就行了。

R语言中文本文件分割 符号 sep的用法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/qq_40256654/article/details/86413651

延伸 · 阅读

精彩推荐
  • R语言聊聊R语言中Legend 函数的参数用法

    聊聊R语言中Legend 函数的参数用法

    这篇文章主要介绍了聊聊R语言中Legend 函数的参数用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Gavin姓陈6352021-12-28
  • R语言R语言-使用ifelse进行数据分组

    R语言-使用ifelse进行数据分组

    这篇文章主要介绍了R语言-使用ifelse进行数据分组,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    小力丸12042022-01-10
  • R语言R studio 批量注释的快捷方式

    R studio 批量注释的快捷方式

    这篇文章主要介绍了R studio 批量注释的快捷方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    JasonKQLin13342022-01-04
  • R语言R语言可视化存储矢量图实现方式

    R语言可视化存储矢量图实现方式

    这篇文章主要为大家介绍了R语言存储矢量图的实现方式过程,有需要的朋友可以借鉴参考下,希望能够有所你帮助,祝大家多多进步,早日升职加薪...

    Kanny广小隶9392022-01-20
  • R语言R语言创建矩阵的实现方法

    R语言创建矩阵的实现方法

    这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随...

    hjk_caesar9462021-12-27
  • R语言R语言绘制散点图实例分析

    R语言绘制散点图实例分析

    在本篇文章里小编给大家整理的是一篇关于R语言绘制散点图实例分析内容,有需要的朋友们可以学习下。...

    w3cschool6942022-01-06
  • R语言R语言编程学习绘制动态图实现示例

    R语言编程学习绘制动态图实现示例

    这篇文章主要介绍了R语言编程学习绘制动态图实现示例,有需要的的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    微小冷7652022-01-18
  • R语言R语言中c()函数与paste()函数的区别说明

    R语言中c()函数与paste()函数的区别说明

    这篇文章主要介绍了R语言中c()函数与paste()函数的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    yiyu_j11152022-01-12