基于手机号列匹配两个Excel文件,保留号码相同的记录;支持多种合并策略;当需要合并两个表格或筛选共同数据时使用
pandas>=2.0.0
openpyxl>=3.1.0
scripts/match_phones.py 执行匹配:
python scripts/match_phones.py \
--file1_path <文件1路径> \
--file2_path <文件2路径> \
--file1_phone_col <文件1手机号列名> \
--file2_phone_col <文件2手机号列名> \
--output_path <输出文件路径>
inner(内连接):仅保留两个表格中都有的记录outer(外连接):保留所有记录,缺失值填充 NaNleft(左连接):保留左表所有记录,右表匹配不到的填充 NaNright(右连接):保留右表所有记录,左表匹配不到的填充 NaNscripts/merge_tables.py 执行合并:
python scripts/merge_tables.py \
--file1_path <文件1路径> \
--file2_path <文件2路径> \
--merge_col1 <文件1的合并列名> \
--merge_col2 <文件2的合并列名> \
--merge_type <合并类型> \
--output_path <输出文件路径>
_文件1、_文件2)以区分来源inner:仅保留两个表格中都有的记录(最严格)outer:保留所有记录,缺失值显示为空(最完整)left:以左表为主,右表匹配不到时该列为空right:以右表为主,左表匹配不到时该列为空python scripts/match_phones.py \
--file1_path ./通话列表.xlsx \
--file2_path ./线索明细.xlsx \
--file1_phone_col "客户真实号码" \
--file2_phone_col "客户手机号" \
--output_path ./匹配结果.xlsx
python scripts/merge_tables.py \
--file1_path ./通话列表.xlsx \
--file2_path ./线索明细.xlsx \
--merge_col1 "客户真实号码" \
--merge_col2 "客户手机号" \
--merge_type outer \
--output_path ./合并结果.xlsx
python scripts/merge_tables.py \
--file1_path ./客户表A.xlsx \
--file2_path ./客户表B.xlsx \
--merge_col1 "手机号" \
--merge_col2 "联系电话" \
--merge_type left \
--output_path ./左表全保留.xlsx