R語言中文本文件分割 符號 sep的用法
一般情況下:
csv 文件 sep = “,” # 以逗號分割
txt 文件 sep = “\t” #以制表符分割
其他文件 sep = " " #以空格分割
具體情況,具體調(diào)整
sep= 文件中的字段分離符,用于文件數(shù)據(jù)文本的讀取和保存過程中指定分割符號。
補(bǔ)充:用R語言把超大文本文件拆分成幾個小文本文件
近一段時間一直在研究一些醫(yī)院的數(shù)據(jù)。
前兩天遇到一個尷尬:想打開一個僅有3G左右的文本文件(有時候必須要打開,直接傳到數(shù)據(jù)庫滿足不了需求),破電腦(4G內(nèi)存的電腦)就是打不開(用的Notepad++)。
就是這造型:
上網(wǎng)搜了一些方法,下了一些比較不常用的文本處理工具和其它工具,也不理想。
得知好多人在許多場景都需要打開或者拆分8G甚至10G以上的文本文件,于是想著自己研究一下。
下面就是我用R來拆分大文本的過程
雖然方法比較笨,但是簡單輕巧、思路清晰。
1.首先把你想要拆分的大文本文件放到R的當(dāng)前工作目錄下
我的文件名在這里叫details.txt。
2.用函數(shù)split_file()來拆分大文本文件
split_file()函數(shù)是自定義的一個函數(shù),用來拆分超大文本文件。
它總共有兩個參數(shù)filename和eachfile_lines_num,即split_file(filename,eachfile_lines_num)。
filename是指需要拆分的超大文本的名字,eachfile_lines_num是指拆分完的每一個文件中有多少行數(shù)據(jù)。
split_file()會返回一個數(shù)值,代表了總共拆分成的小文本的數(shù)量。
split_file()拆分出來的文件會放置在R當(dāng)前的工作目錄下。
使用如:
split_file("details.txt",1000000),它把名為details.txt的超大文本文件拆分為每個文件只有1000000行的一個個的小文本文件。
split_file()的細(xì)節(jié):
file_split <- function(filename,eachfile_lines_num){ #建立函數(shù) c <- file(filename,"r") #建立鏈接 varnames <- paste("splitfile", 1:1000, sep = "_") #建立盡可能多但不要太多的動態(tài)變量名 i <- 1 #初始值 while(TRUE){ assign(varnames[i],value = readLines(c,n = eachfile_lines_num)) #分別把從filename中讀出來的數(shù)據(jù)存放在變量中 write.table(get(varnames[i]),paste(varnames[i],".txt",sep = "")) #分別把存放在變量中的數(shù)據(jù)寫出到文件中 if (length(get(varnames[i])) < eachfile_lines_num) break else i <- i + 1 #判斷循環(huán)停止條件 } return(i) #返回文件數(shù)量 }
我執(zhí)行完file_split("details.txt",500000)之后得到了30多個文件:
3.對拆分的文件進(jìn)行處理
由于過程中用到了readLines(),因此拆出來的文件每一行是一個字符串,有引號。
這好像不符合要求,只需用Windows記事本或notepad++或其他文本處理應(yīng)用處理一下就行。
在notepad++中執(zhí)行“搜索 -> 替換”把雙引號替換成\0就行了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
R語言 實現(xiàn)將數(shù)據(jù)框中的字符類型數(shù)字轉(zhuǎn)換為數(shù)值
這篇文章主要介紹了R語言 實現(xiàn)將數(shù)據(jù)框中的字符類型數(shù)字轉(zhuǎn)換為數(shù)值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03R語言繪圖數(shù)據(jù)可視化Ridgeline plot山脊圖畫法
這篇文章主要為大家介紹了R語言繪圖數(shù)據(jù)可視化Ridgeline plot山脊圖畫法的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02R語言繪圖學(xué)習(xí)教程VennDiagram繪制venn
這篇文章主要為大家介紹了R語言繪圖學(xué)習(xí)教程VennDiagram繪制venn的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06