我需要通过将标头第一行复制到列变量中并将第二行作为R中的标头复制到文件夹中,以读取一组.CSV文件

问题描述

我需要通过将标头(第一行)复制到列变量,然后将第二行复制为R中的标头来读取文件夹中的一组.CSV文件

我的输入格式是这样

enter image description here

我的输出格式如下

Date = c('3/12/2019','3/14/2019','3/15/2019')
Number = c('24','15.2','27.1')
linc = c('A / B /C / D /E / F','A / B /C / D /E / F','A / B /C / D /E / F')
D1 = data.frame(Date,Number,linc)

很抱歉,bas问题格式。我是初学者

解决方法

以下函数从输入文件中读取一行,然后跳过一行,并使用read.csv将其余行作为表读取。

readSpecial <- function(con,newcol,...){
  if(missing(newcol)) newcol <- "newcol"
  firstline <- readLines(con,n = 1)
  df1 <- read.csv(con,skip = 1,...)
  df1[[newcol]] <- firstline
  df1
}


all.equal(D1,readSpecial("test.csv","linc"))
#[1] "Component “Number”: Modes: character,numeric"              
#[2] "Component “Number”: target is character,current is numeric"

结果不等于发布的数据,因为在我为测试创建的文件中,列Number不在引号之间,因此将其读取为数字。

,

我使用for循环尝试了这种方法,

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.XXXXXXXX.com/home/abc</loc>
</url>
</urlset>