2017-10-06 33 views
0

我的最终目的是只保留时间和浓度的列,但在我跳过顶部的所有行之前,我想保留日期“9/12/2017”(我将添加到后面的时间列)。年的两个数字成为逗号

有一个讨厌的“样品1评论:”最后,我需要摆脱它。最大的问题是,当我试图保存日期时,它没有出现“9/12/2017”,而是“9/12/17 ,,”。我不知道为什么会这样,它最终可能会受到评论线的影响,两年的数字变成了逗号。

Sample File E:\CPC 091217\091217CPC3.C07 
Model 3007 
Sample # 1 
Start Date 9/12/2017 
Start Time 10:29:57 
Sample Length 4:14:37 
Averaging Interval (secs) 1 
Title 
Instrument ID 3007-03160001 3.1 
Instrument Errors None 

Time Concentration (#/cm³) 
10:29:58 4224 
10:29:59 97323 
10:30:00 14590 
10:30:09 73716 
10:30:10 70779 
10:30:11 60642 
10:30:12 56171 

......... 
Comment for Sample 1: 

我想什么是

cpcFile = choose.files(default = "", caption = "   

        SELECT THE CPC.csv FILE ", 
        multi = FALSE, filters = Filters[c("txt", "All"),], 
        index = nrow(Filters)) 

cpcData <- read.csv(cpcFile, skip = 16) 

#helps get rid of the comment line,it works 
cpcData<-cpcData[- grep("Comment", cpcData$Time),] 

#however,the P6 shows "9/12/17,,"instead of " "9/12/2017" 
K=readLines(cpcFile, n = 5) # read first 5 lines 
header=K[[5]]    # read only the date and time 
P6= substr(header, 12, 25) 

期望:

Time   Concentration (#/cm³) 
10:29:58 9/12/2017  4224 
10:29:59 9/12/2017  97323 
10:30:00 9/12/2017  14590 
10:30:09 9/12/2017  73716 
........ 

和P6应该是2017年9月12日首先,非常感谢!

+0

一些灵感:https://stackoverflow.com/a/37665045/2204410 – Jaap

回答

0

我建议回避解析日期出来的文件,只是解析出来的文件名,而不是问题,假设他们一直在日期。

然后你可以使用依赖于readr::read_delimreadr::readfwf什么确切地分隔您的文件,与skip参数跳过标头。页脚可能只是无法解析,但如果没有,您可以检查并删除它。您可以通过使用带有正则表达式的string:str_extract加载数据框来设置日期列。