我正在从HOBOware记录器下载文件,并且它生成的CSV混乱。我需要删除第1、5-8列,并跳过第一行。
文件很多,我想一次上传它们,但是跳过行给我带来了问题
由于有了另一个线程,我几乎可以做我想做的事,但是CSV中的一个空白行导致数据无法正确上传,从而创建了空白单元格
这是单独读取每个CSV时可以使用的代码
library(readr)
Pool_620180212 <- read_csv("Pool 6/Pool_620180212.csv",
col_types = cols(`Date Time, GMT-05:00` = col_datetime(format = "%m/%d/%y %H:%M:%S")),
skip = 1)
所以我认为我可以通过执行以下操作来克服它
setwd("C:/Users/Christopher/Desktop/NEW R/Converted HOBO files")
mydir = "Pool 6"
myfiles = list.files(path=mydir, pattern="*.csv", full.names=TRUE, Skip = 1)
我不知道如何格式化参数以使每个CSV都包含以下格式,以便能够正确读取
"col_types = cols(`Date Time, GMT-05:00` = col_datetime(format = "%m/%d/%y %H:%M:%S")),
skip = 1)"
我对R不太有经验,因此删除多余列的任何建议也都很好,我一直在为每个列这样做,这很麻烦
file$column = NULL
答案 0 :(得分:1)
尝试一下:
library(data.table)
setwd("C:/Users/Christopher/Desktop/NEW R/Converted HOBO files")
x = lapply(list.files(pattern="*\\.csv"), function(x){
fread(x)
})%>% rbindlist()
您可以在循环后删除该列。
或在循环中指定它: 我不确定您的专栏是什么,但是看起来像这样:
library(data.table)
library(lubridate)
setwd("C:/Users/Christopher/Desktop/NEW R/Converted HOBO files")
x = lapply(list.files(pattern="*\\.csv"), function(x){
fread(x)
x$date = ymd_hms(x$date)
x$col = NULL
})%>% rbindlist()