R語言文本文件讀寫(txt/csv/xlsx)
本文主要介紹瞭R語言文本文件讀寫,分享給大傢,具體如下:
read.table(file,sep,hesder) #file 文件路徑 #sep 分隔符 #header 第一行是不是列名(如果第一行是列名導入的時候填TRUE;默認值是FALSE,即把第一行算作數據)
準備工作
為方便後面使用的相對路徑,我們先使用setwd(路徑)
設置路徑,設置好之後可以用getwd()
獲取當前路徑進行檢查。
> setwd("F:/r-test-data") > getwd() [1] "F:/r-test-data"
註意數據分隔符:
因為數據有時候是從數據庫導出或者.xlsx裡截取等等,所以有時候看起來是空白分隔卻有著不一樣的格式。
常見空白分隔符有:空格,制表符,換行符
sep=” ”;sep = “\t”;sep = “\n”
讀取txt文件
將工作路徑調制要導入文件所在的文件夾下,之後輸入.txt的文件名和分隔符就可以導入數據瞭。
> 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 (逗號分隔值文件格式)
CSV”並不是一種單一的、定義明確的格式(盡管RFC 4180有一個被通常使用的定義)。因此在實踐中,術語“CSV”泛指具有
以下特征的任何文件:
1. 純文本,使用某個字符集,比如ASCII、Unicode、EBCDIC或GB2312;
2. 由記錄組成(典型的是每行一條記錄);
3. 每條記錄被分隔符分隔為字段(典型分隔符有逗號、分號或制表符;有時分隔符可以包括可選的空格);
4. 每條記錄都有同樣的字段序列。
在數據
在R語言使用過程中最為常用的數據格式,有專門的讀取函數read.csv(file,header)
(read.csv也可用於讀取逗號分隔的.txt文件)。
讀取Excel文件通常,先轉為CSV格式,然後再使用。
這裡的countrylanguage.csv文件,是我直接從MySQL數據庫中導出.csv格式的數據集合。
> data2 <- read.csv('countrylanguage.csv',TRUE) > head(data2) > #通過head()函數可以讀取前6行數據 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環境的讀文件,如果大傢電腦中沒有裝好的java環境,還是建議大傢還是把.xlsx另存為.csv;如果本來就是JAVA語言使用者那就可以直接體驗,不必繁瑣的配環境瞭。
讀取Excel需要使用到xlsx包,xlsx依賴於rjava包,rjava雖然是R語言包 但是使用環境需要JAVA語言編譯環境JRE(JDK是JAVA的運行環境包括瞭JRE)。
安裝流程:安裝JDK->加載rJava->加載xlsx包
註意:R語言是一個大小寫敏感的語言,大傢下載和加載包時要註意包名裡字母的大小寫例如:install.packages('rjava')
會提示包名應該為rJava。
配置好jdk環境,加載好rJava和xlsx包就可以開始讀取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
寫入文件
可以保存成任意符號分隔的文件write.table(data,file,sep)
保存成文件的類型要自己以擴展名的方式寫在‘file’字段裡,比如test.csv
,test.doc
,test.xlsx
寫CSV文件
write.csv(data,file)
#為瞭檢驗方便,這裡我們把countrylanguage前六行數另存為.csv文件;當然文件的擴展名是可以自己指定的,當然文件裡數據都是逗號分割的。 > data3 <- head(data2) > write.csv(data3,'save.csv') > write.csv(data3,'save.doc')
可以設置不要行名將前面沒有意義的1,2…去掉write.csv(data3,'save.csv',row.names = FALSE)
得到結果
"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
寫xlsx文件
將要保存的數據存成.xlsx文件
> write.xlsx(head(data3),'test.xlsx',row.names = FALSE) > #和之前寫文件一樣,write.‘type'(),type隻是數據保存時格式的描述,不是默認保存文件的擴展名 > #擴展名需要自己在文件名中寫清楚,文件存儲格式打開方式是和文件擴展名有關的。
到此這篇關於R語言文本文件讀寫(txt/csv/xlsx)的文章就介紹到這瞭,更多相關R語言 文件讀寫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- R語言讀取xls與xlsx格式文件過程
- python讀寫excel數據–pandas詳解
- R語言對Excel文件操作實例
- 利用Python的pandas數據處理包將寬表變成窄表
- 使用Python快速打開一個百萬行級別的超大Excel文件的方法