使用R根据固定宽度分隔txt文件

时间:2018-07-06 04:49:36

标签: r

我在Package Reader中使用read_fwf来分隔txt文件中的列。

代码很简单,就像:

   fwf_widths(c(4,9,3,1,24,17,1

但是,转换为01412之类的数字时会出现问题-在excel(csv)中,它将直接变为1412 ---(因为我有很多代码,例如001、0001,然后全部变为1

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我们可以使用readLines读取文件,然后使用read.table

lines <- readLines('yourfile.csv')
read.table(text = gsub(" ([A-Z]\\w+\\s+?[A-Za-z]+?) ", " '\\1' ", lines),
  sep = " ", header = FALSE,
     colClasses = rep("character", 7), stringsAsFactors = FALSE)
#        V1 V2    V3              V4   V5      V6   V7
#1 2016SVIC NN 01407 MOUNT ALEXANDER 7-12 COLLEGE 3031