[英]reading csv and create row -1 as value in new column
我有一組csv文件,其中所有文件中的數據格式相同。 格式如下
CA.csv --
row:1- jones
row:2- May
row:3-
row:4- Date_transaction cards_hold status amount
row:5- 5/25/2018 3:15 2 Active 233
row:6- 5/25/2018 3:30 2 Active 4534
NY.csv --
row:1- gary
row:2- May
row:3-
row:4- Date_transaction cards_hold status amount
row:5- 5/25/2018 5:00 2 Active 565
row:6- 5/25/2018 6:30 2 Active 533
上面的格式對所有其他csv文件重復
o/p (i.e name is in first row in csv file should read and create as value in "name" column)
Date_transaction cards_hold status amount name
5/25/2018 3:15 2 Active 233 jones
5/25/2018 3:30 2 Active 4534 jones
5/25/2018 5:00 2 Active 565 gary
5/25/2018 6:30 2 Active 533 gary
我試過下面的代碼。
files <- dir("RawData", recursive=TRUE, full.names=TRUE, pattern="\\.csv$")
raw = rbindlist(lapply(files, fread))
希望這可以幫助!
setwd("directory_path_of_your_csv_files/")
file_lst <- list.files(".")
read_all_csv <- function(f_name){
csv_data <- read.csv(f_name, header=T, stringsAsFactors=F, skip=3)
name <- read.csv(f_name, header=F, nrows=1)$V1
csv_data$name <- rep(name, nrow(csv_data))
csv_data
}
df <- Reduce(rbind, lapply(file_lst, function(x) read_all_csv(x)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.