我有一个文件夹,其中转储了几个csv文件。文件名可以是Product_1234.csv Product_2121.csv等
这些表格中的列名称不同。但是,所有工作表中始终都有一列“Profit”。因此,Product_1234.csv和Product_2121.csv都将Profit作为列。
我有另一个csv,即my_csv.csv文件,其中的数据格式如下
Product Cost
1234 12
2345 10
2121 15
我希望在my_csv中有另一个名为Profit的列。此列应该具有前面讨论的多个工作表中的利润。例如,要获得产品1234的利润,我们必须搜索具有“1234”的文件名并从该文件中获取利润。我不确定这是否可以在R中完成。请帮助。
输出文件,即my_csv将是这样的
Product Cost Profit
1234 12 3
2121 15 1
答案 0 :(得分: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
肯定有更快的方法可以做到这一点,但如果性能问题,这可以让你从一个开始。