read.csv,第一行的标题,跳过第二行 [英] read.csv, header on first line, skip second line
问题描述
我有一个包含两个标题行的 CSV 文件,第一行我想成为标题,但第二行我想丢弃.如果我执行以下命令:
I have a CSV file with two header rows, the first row I want to be the header, but the second row I want to discard. If I do the following command:
data <- read.csv("HK Stocks bbg.csv", header = T, stringsAsFactors = FALSE)
第一行成为标题,文件的第二行成为我的数据框的第一行:
The first row becomes the header and the second row of the file becomes the first row of my data frame:
Xaaaaaaaaa X X.1 Xbbbbbbbbbb X.2 X.3
1 Date PX_LAST NA Date PX_LAST NA
2 31/12/2002 38.855 NA 31/12/2002 19.547 NA
3 02/01/2003 38.664 NA 02/01/2003 19.547 NA
4 03/01/2003 40.386 NA 03/01/2003 19.547 NA
5 06/01/2003 40.386 NA 06/01/2003 19.609 NA
6 07/01/2003 40.195 NA 07/01/2003 19.609 NA
我想跳过 CSV 文件的第二行,直接获取
I want to skip this second row of the CSV file and just get
X1.HK.Equity X X.1 X2.HK.Equity X.2 X.3
2 31/12/2002 38.855 NA 31/12/2002 19.547 NA
3 02/01/2003 38.664 NA 02/01/2003 19.547 NA
4 03/01/2003 40.386 NA 03/01/2003 19.547 NA
5 06/01/2003 40.386 NA 06/01/2003 19.609 NA
6 07/01/2003 40.195 NA 07/01/2003 19.609 NA
我试过 data <- read.csv("HK Stocks bbg.csv", header = T, stringsAsFactors = FALSE, skip = 1)
但返回:
Date PX_LAST X Date.1 PX_LAST.1 X.1
1 31/12/2002 38.855 NA 31/12/2002 19.547 NA
2 02/01/2003 38.664 NA 02/01/2003 19.547 NA
3 03/01/2003 40.386 NA 03/01/2003 19.547 NA
4 06/01/2003 40.386 NA 06/01/2003 19.609 NA
5 07/01/2003 40.195 NA 07/01/2003 19.609 NA
6 08/01/2003 40.386 NA 08/01/2003 19.547 NA
标题行来自我的 CSV 文件的第二行,而不是第一行.
The header row comes from the second line of my CSV file, not the first line.
谢谢.
推荐答案
这应该可以解决问题:
all_content = readLines("file.csv")
skip_second = all_content[-2]
dat = read.csv(textConnection(skip_second), header = TRUE, stringsAsFactors = FALSE)
使用readLines
的第一步将整个文件读入一个列表,其中列表中的每个项目代表文件中的一行.接下来,使用 R 中的负索引意味着 选择除此索引之外的所有内容
这一事实丢弃第二行.最后,我们将这些数据提供给 read.csv
以将其处理成 data.frame
.
The first step using readLines
reads the entire file into a list, where each item in the list represents a line in the file. Next, you discard the second line using the fact that negative indexing in R means select all but this index
. Finally, we feed this data to read.csv
to process it into a data.frame
.
这篇关于read.csv,第一行的标题,跳过第二行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!