簡體   English   中英

讀取csv並在新列中將行-1創建為值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM