在R语言中合并CSV文件每两行同账号的拆分地址
合并CSV中同账号的拆分地址行
方法一:用Pandas快速处理
适合熟悉Python数据分析的场景,代码简洁高效:
- 读取CSV文件
import pandas as pd df = pd.read_csv("your_input.csv")
- 按每2行分组,聚合合并地址
# 生成分组标识,每两行归为一组 df["group_id"] = df.index // 2 # 按分组合并:账号取第一行,地址拼接 merged_df = df.groupby("group_id").agg( 账号=("账号", "first"), 地址=("地址", " ".join) ).reset_index(drop=True)
- 导出处理后的CSV
merged_df.to_csv("merged_output.csv", index=False)
提示:替换
"账号"和"地址"为你CSV里的实际列名;如果地址需要用其他分隔符,把" "换成,这类你需要的符号。
方法二:纯Python原生处理(无需第三方库)
如果不想安装Pandas,用原生csv模块更稳妥,还能处理带引号的复杂字段:
import csv with open("your_input.csv", "r", encoding="utf-8") as infile, \ open("merged_output.csv", "w", encoding="utf-8", newline="") as outfile: reader = csv.DictReader(infile) writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames) writer.writeheader() row1 = next(reader, None) while row1: row2 = next(reader, None) if not row2: writer.writerow(row1) break # 校验账号是否匹配(可选,避免数据错误) if row1["账号"] != row2["账号"]: print(f"⚠️ 账号不匹配:{row1['账号']} vs {row2['账号']}") # 合并地址 row1["地址"] = f"{row1['地址']} {row2['地址']}" writer.writerow(row1) row1 = next(reader, None)
内容的提问来源于stack exchange,提问作者datalearner
相关产品推荐
相关产品推荐

