You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中匹配两个大型CSV文件的日期并合并表格

在R中实现CSV文件按日期匹配合并

这是数据处理里非常常见的需求,用R内置的merge()函数就能完美解决,我给你一步步拆解操作流程:

步骤1:读取CSV文件

首先用read.csv()读取两个文件,记得设置stringsAsFactors = FALSE,避免日期列被自动转成因子类型:

# 读取两个CSV文件
file1 <- read.csv("File1.csv", stringsAsFactors = FALSE)
file2 <- read.csv("File2.csv", stringsAsFactors = FALSE)

步骤2:按日期执行内连接合并

因为两个文件的日期列名不同(Dates1和Dates2),所以在merge()里指定by.x和by.y参数;默认的all = FALSE会只保留两个文件中共同存在的日期(也就是内连接逻辑),正好匹配你的需求:

# 合并数据,仅保留双方都有的日期记录
merged_data <- merge(file1, file2, by.x = "Dates1", by.y = "Dates2", all = FALSE)

步骤3:调整列名和顺序

合并后的列名需要改成你想要的格式,同时调整列的顺序让它和目标表格一致:

# 修改列名符合需求
colnames(merged_data) <- c("NewDates", "Sales", "Stores")
# 调整列顺序,让Stores列位于Sales之前
merged_data <- merged_data[, c("NewDates", "Stores", "Sales")]

步骤4:查看最终结果

最后打印合并后的数据集,就能得到你预期的表格了:

print(merged_data)

额外提示

如果你的日期格式存在潜在不一致(比如部分记录是dd-mm-yyyy,部分是mm-dd-yyyy),建议先把日期列转换成标准的日期类型,避免字符匹配出错:

# 转换日期列格式(根据你的实际日期格式调整format参数)
file1$Dates1 <- as.Date(file1$Dates1, format = "%d-%m-%Y")
file2$Dates2 <- as.Date(file2$Dates2, format = "%d-%m-%Y")

转换后再执行合并,匹配逻辑会更准确。

内容的提问来源于stack exchange,提问作者Jane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:44:41