将文本解析为dataframe列

时间:2016-10-29 16:29:26

标签: r dataframe

将此解析为两列数据帧的正确方法是什么?如果我基于空格分割它会分裂太多次,但如果我不分裂,则所有内容都保留在一列中。我是否必须用一行下载它,然后通过正则表达式在第一个空格中拆分,还是有更好的方法?

item.ids<-read.csv("http://eve-files.com/chribba/typeid.txt",sep =' ',header=F)
View(item.ids)

1 个答案:

答案 0 :(得分:2)

以固定宽度读取。使用readr(如果您喜欢计算字符,请翻译为基数):

library(readr)

df <- read_fwf('http://eve-files.com/chribba/typeid.txt', 
               fwf_empty('http://eve-files.com/chribba/typeid.txt', 
                         skip = 2, 
                         col_names = c('typeID', 'typeName')), 
               skip = 2)

df

## # A tibble: 22,385 × 2
##    typeID           typeName
##     <int>              <chr>
## 1       0            #System
## 2       2        Corporation
## 3       3             Region
## 4       4      Constellation
## 5       5       Solar System
## 6       6    Sun G5 (Yellow)
## 7       7    Sun K7 (Orange)
## 8       8 Sun K5 (Red Giant)
## 9       9      Sun B0 (Blue)
## 10     10     Sun F0 (White)
## # ... with 22,375 more rows