作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的tsv
文件结构如下:
0 - headerline
1 - empty line
2 - PIG schema
3 - empty line
4 - 1-st line of DATA
5 - 2-nd line of DATA
我想阅读它,可能使用 readr::read_tsv
但这是问题所在。
如您所见,第一行包含标题。然后我有三行我不想想要读取它(它们包含一些来自 Apache PIG 的 super 奇怪的数据),并且数据从第 4 行开始。在 Pandas
,我会做类似的事情
df = pd.read_csv('/localpath/data.tsv', sep='\t', skiprows=[1,2,3])
它允许我阅读标题和以跳过第一行、第二行、第三行。
我在 readr::read_tsv
中没有看到类似的选项。那就是:
df = read_tsv('/localpath/data.tsv', col_names = TRUE, skip = 4)
它不解析 header ...
有什么想法吗?
最佳答案
发布我的评论作为答案。基本上,我们读取第一行作为标题,然后读取其余行作为数据:
library(readr)
names_t <- read_tsv('/localpath/data.tsv', col_names = FALSE, n_max = 1)
df1 <- read_tsv('/localpath/data.tsv', col_names = FALSE, skip = 4)
names(df1) <- names_t
请注意,在我的评论中,我指定了 nrows = 1
来读取名称(这适用于 read.csv
),但似乎该参数已被替换通过 readr::read_tsv
中的 n_max
。
关于r - dplyr : how to read a tsv file with headers while skipping some lines?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40656827/
我是一名优秀的程序员,十分优秀!