R語(yǔ)言文本文件讀寫(xiě)(txt/csv/xlsx)
本文主要介紹了R語(yǔ)言文本文件讀寫(xiě),分享給大家,具體如下:
read.table(file,sep,hesder) #file 文件路徑 #sep 分隔符 #header 第一行是不是列名(如果第一行是列名導(dǎo)入的時(shí)候填TRUE;默認(rèn)值是FALSE,即把第一行算作數(shù)據(jù))
準(zhǔn)備工作
為方便后面使用的相對(duì)路徑,我們先使用setwd(路徑)設(shè)置路徑,設(shè)置好之后可以用getwd() 獲取當(dāng)前路徑進(jìn)行檢查。
> setwd("F:/r-test-data")
> getwd()
[1] "F:/r-test-data"
注意數(shù)據(jù)分隔符:
因?yàn)閿?shù)據(jù)有時(shí)候是從數(shù)據(jù)庫(kù)導(dǎo)出或者.xlsx里截取等等,所以有時(shí)候看起來(lái)是空白分隔卻有著不一樣的格式。
常見(jiàn)空白分隔符有:空格,制表符,換行符
sep=” ”;sep = “\t”;sep = “\n”
讀取txt文件
將工作路徑調(diào)制要導(dǎo)入文件所在的文件夾下,之后輸入.txt的文件名和分隔符就可以導(dǎo)入數(shù)據(jù)了。
> data1 <- read.table('test.txt',sep = '\t',header = TRUE)
> data1
CountryCode Language IsOfficial Percentage
1 ABW Dutch TRUE 5.3
2 AFG Dari TRUE 32.1
3 AFG Pashto TRUE 52.4
4 AIA English TRUE 0.0
5 ALB Albaniana TRUE 97.9
6 AND Catalan TRUE 32.3
7 ANT Dutch TRUE 0.0
8 ANT Papiamento TRUE 86.2
9 ARE Arabic TRUE 42.0
10 ARG Spanish TRUE 96.8
11 ARM Armenian TRUE 93.4
12 ASM English TRUE 3.1
13 ASM Samoan TRUE 90.6
14 ATG English TRUE 0.0
15 AUS English TRUE 81.2
16 AUT German TRUE 92.0
17 AZE Azerbaijani TRUE 89.0
讀取CSV文件
CSV (逗號(hào)分隔值文件格式)
CSV”并不是一種單一的、定義明確的格式(盡管RFC 4180有一個(gè)被通常使用的定義)。因此在實(shí)踐中,術(shù)語(yǔ)“CSV”泛指具有
以下特征的任何文件:
1. 純文本,使用某個(gè)字符集,比如ASCII、Unicode、EBCDIC或GB2312;
2. 由記錄組成(典型的是每行一條記錄);
3. 每條記錄被分隔符分隔為字段(典型分隔符有逗號(hào)、分號(hào)或制表符;有時(shí)分隔符可以包括可選的空格);
4. 每條記錄都有同樣的字段序列。
在數(shù)據(jù)
在R語(yǔ)言使用過(guò)程中最為常用的數(shù)據(jù)格式,有專(zhuān)門(mén)的讀取函數(shù)read.csv(file,header)(read.csv也可用于讀取逗號(hào)分隔的.txt文件)。
讀取Excel文件通常,先轉(zhuǎn)為CSV格式,然后再使用。
這里的countrylanguage.csv文件,是我直接從MySQL數(shù)據(jù)庫(kù)中導(dǎo)出.csv格式的數(shù)據(jù)集合。
> data2 <- read.csv('countrylanguage.csv',TRUE)
> head(data2)
> #通過(guò)head()函數(shù)可以讀取前6行數(shù)據(jù)
CountryCode Percentage Percentage.1 Percentage.2
1 ABW Dutch TRUE 5.3
2 ABW English FALSE 9.5
3 ABW Papiamento FALSE 76.7
4 ABW Spanish FALSE 7.4
5 AFG Balochi FALSE 0.9
6 AFG Dari TRUE 32.1
讀取Excel文件
一種需要配置java環(huán)境的讀文件,如果大家電腦中沒(méi)有裝好的java環(huán)境,還是建議大家還是把.xlsx另存為.csv;如果本來(lái)就是JAVA語(yǔ)言使用者那就可以直接體驗(yàn),不必繁瑣的配環(huán)境了。
讀取Excel需要使用到xlsx包,xlsx依賴(lài)于rjava包,rjava雖然是R語(yǔ)言包 但是使用環(huán)境需要JAVA語(yǔ)言編譯環(huán)境JRE(JDK是JAVA的運(yùn)行環(huán)境包括了JRE)。
安裝流程:安裝JDK->加載rJava->加載xlsx包
注意:R語(yǔ)言是一個(gè)大小寫(xiě)敏感的語(yǔ)言,大家下載和加載包時(shí)要注意包名里字母的大小寫(xiě)例如:install.packages('rjava') 會(huì)提示包名應(yīng)該為rJava。
配置好jdk環(huán)境,加載好rJava和xlsx包就可以開(kāi)始讀取Excel文件了。
> data4 <- read.xlsx('countrylanguage.xlsx',sheetIndex = 1)
> #讀取文件
> data4
CountryCode Percentage Percentage.1 Percentage.2
1 ABW Dutch T 5.3
2 AFG Dari T 32.1
3 AFG Pashto T 52.4
4 AIA English T 0.0
5 ALB Albaniana T 97.9
6 AND Catalan T 32.3
7 ANT Dutch T 0.0
8 ANT Papiamento T 86.2
9 ARE Arabic T 42.0
10 ARG Spanish T 96.8
寫(xiě)入文件
可以保存成任意符號(hào)分隔的文件write.table(data,file,sep)
保存成文件的類(lèi)型要自己以擴(kuò)展名的方式寫(xiě)在‘file'字段里,比如test.csv,test.doc,test.xlsx
寫(xiě)CSV文件
write.csv(data,file)
#為了檢驗(yàn)方便,這里我們把countrylanguage前六行數(shù)另存為.csv文件;當(dāng)然文件的擴(kuò)展名是可以自己指定的,當(dāng)然文件里數(shù)據(jù)都是逗號(hào)分割的。 > data3 <- head(data2) > write.csv(data3,'save.csv') > write.csv(data3,'save.doc')

可以設(shè)置不要行名將前面沒(méi)有意義的1,2…去掉write.csv(data3,'save.csv',row.names = FALSE) 得到結(jié)果
"CountryCode","Percentage","Percentage.1","Percentage.2" "ABW","Dutch",TRUE,5.3 "ABW","English",FALSE,9.5 "ABW","Papiamento",FALSE,76.7 "ABW","Spanish",FALSE,7.4 "AFG","Balochi",FALSE,0.9 "AFG","Dari",TRUE,32.1
寫(xiě)xlsx文件
將要保存的數(shù)據(jù)存成.xlsx文件
> write.xlsx(head(data3),'test.xlsx',row.names = FALSE) > #和之前寫(xiě)文件一樣,write.‘type'(),type只是數(shù)據(jù)保存時(shí)格式的描述,不是默認(rèn)保存文件的擴(kuò)展名 > #擴(kuò)展名需要自己在文件名中寫(xiě)清楚,文件存儲(chǔ)格式打開(kāi)方式是和文件擴(kuò)展名有關(guān)的。

到此這篇關(guān)于R語(yǔ)言文本文件讀寫(xiě)(txt/csv/xlsx)的文章就介紹到這了,更多相關(guān)R語(yǔ)言 文件讀寫(xiě)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語(yǔ)言中set.seed()函數(shù)的作用詳解
set.seed()括號(hào)里面的參數(shù)可以是任意數(shù)字,是代表你設(shè)置的第幾號(hào)種子而已,不會(huì)參與運(yùn)算,是個(gè)標(biāo)記而已。,這篇文章主要介紹了R語(yǔ)言中set.seed()函數(shù)的作用,需要的朋友可以參考下2022-09-09
R語(yǔ)言-生成頻數(shù)表和列聯(lián)表crosstable函數(shù)介紹
這篇文章主要介紹了R語(yǔ)言-生成頻數(shù)表和列聯(lián)表crosstable函數(shù)介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
R語(yǔ)言繪圖數(shù)據(jù)可視化Ridgeline plot山脊圖畫(huà)法
這篇文章主要為大家介紹了R語(yǔ)言繪圖數(shù)據(jù)可視化Ridgeline plot山脊圖畫(huà)法的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02
R語(yǔ)言 實(shí)現(xiàn)將factor轉(zhuǎn)換成numeric方法
這篇文章主要介紹了R語(yǔ)言 實(shí)現(xiàn)將factor轉(zhuǎn)換成numeric方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
R語(yǔ)言學(xué)習(xí)之基礎(chǔ)繪圖詳解
這篇文章主要為大家詳細(xì)介紹了R語(yǔ)言中基礎(chǔ)繪圖的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2023-03-03

