2016-06-15 5 views
-1

여러 개의 csv 파일이 덤프되는 폴더가 있습니다. 파일 이름은 Product_1234.csv Product_2122.csv 등일 수 있습니다.여러 csv 파일에서 값을 가져 오기 R

이 시트의 열 이름은 다릅니다. 그러나 모든 시트에는 항상 한 개의 "이익"열이 있습니다. 따라서 Product_1234.csv 및 Product_2121.csv 모두 Profit을 열로 사용합니다.

나는 데이터의 형식은 다음과 내가 이익이라는 my_csv에서 다른 열을 갖고 싶어

Product Cost 
1234 12 
2345 10 
2121 15 

에있는 다른 CSV 즉 my_csv.csv 파일이 있습니다. 이 열은 앞에서 말한 여러 시트의 이익을 가져야합니다. 예를 들어, Profit for Product 1234를 얻으려면 "1234"라는 파일 이름을 검색하고 해당 파일에서 Profit을 가져와야합니다. 이것이 R에서 할 수 있는지 확실하지 않습니다. 제발 도와주세요.

출력 파일 즉 my_csv은 할 것 같은이

Product Cost Profit 
1234 12 3 
2121 15 1 
+0

제품 이름을 알고 계십니까? 아니면 파일이있는 곳에서 작업해야합니까? –

+0

이것은 상당히 광범위한 질문입니다. R에서 할 수있다.'? ls','? read.csv','? merge'를 보라. – lmo

+0

@JamesElderfield my_csv 파일에 제품 이름이 있습니다. 이 제품에 대해 이익을 매핑하고 싶습니다. – Abhi

답변

1

뭔가 같은 것입니다 그것을

# Dummy data - read this in from your my_csv.csv file 
my_csv_data = data.frame(
    Product = c(1234, 2121), 
    Cost = c(12, 15)  
) 

profits <- c() 

for(productNumber in my_csv_data$Product) { 
    fileName <- paste0("Product_", productNumber, ".csv") 

    productData <- read.csv(fileName) 

    profits <- c(profits, productData$Profit[1]) 
} 

my_csv_data$Profit <- profits 

확실히이 일을 빨리 가지 방법이 있습니다, 그러나 이것은 시작하는 곳을 제공합니다 성능이 문제가되는 경우부터.

관련 문제