當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R read.fwf 讀取固定寬度格式文件


R語言 read.fwf 位於 utils 包(package)。

說明

將固定寬度格式化數據表讀入 data.frame

用法

read.fwf(file, widths, header = FALSE, sep = "\t",
         skip = 0, row.names, col.names, n = -1,
         buffersize = 2000, fileEncoding = "", ...)

參數

file

要從中讀取數據的文件的名稱。

或者,file 可以是 connection ,如有必要,它將打開,如果需要,則在函數調用結束時關閉。

widths

整數向量,給出固定寬度字段(一行)的寬度,或整數向量列表,給出多行記錄的寬度。

header

一個邏輯值,指示文件的第一行是否包含變量名稱。如果存在,名稱必須由 sep 分隔。

sep

特點;內部使用的分隔符;應該是文件中不出現的字符(標頭除外)。

skip

要跳過的初始行數;請參閱read.table

row.names

請參閱read.table

col.names

請參閱read.table

n

最大讀取記錄數(行),默認無限製。

buffersize

一次讀取的最大行數

fileEncoding

字符串:如果非空則聲明文件(而不是連接)上使用的編碼,以便可以重新編碼字符數據。請參閱 file 幫助的“編碼”部分、“R 數據導入/導出”手冊和“注釋”。

...

要傳遞給 read.table 的更多參數。有用的此類參數包括 as.isna.stringscolClassesstrip.white

細節

多行記錄在處理之前連接到單行。 zero-width 的字段或完全超出 file 行尾的字段將替換為 NA

Negative-width字段用於指示要跳過的列,例如-5跳過5列。 read.table 看不到這些字段,因此不應包含在 col.namescolClasses 參數中(也不應包含在標題行中,如果存在)。

讀取長行的大文件時,減少 buffersize 參數可能會減少內存使用。當有足夠的內存可用時,增加 buffersize 可能會導致處理速度加快。

請注意, read.fwf (不是 read.table )讀取提供的文件,因此後者的參數 encoding 將不起作用。

read.table 生成的 data.frame,在內部調用。

例子

ff <- tempfile()
cat(file = ff, "123456", "987654", sep = "\n")
read.fwf(ff, widths = c(1,2,3))    #> 1 23 456 \ 9 87 654
read.fwf(ff, widths = c(1,-2,3))   #> 1 456 \ 9 654
unlink(ff)
cat(file = ff, "123", "987654", sep = "\n")
read.fwf(ff, widths = c(1,0, 2,3))    #> 1 NA 23 NA \ 9 NA 87 654
unlink(ff)
cat(file = ff, "123456", "987654", sep = "\n")
read.fwf(ff, widths = list(c(1,0, 2,3), c(2,2,2))) #> 1 NA 23 456 98 76 54
unlink(ff)

作者

Brian Ripley for R version: originally in Perl by Kurt Hornik.

也可以看看

scanread.table

read.fortran 用於另一種風格的固定格式文件。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Read Fixed Width Format Files。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。