pandas参照一个文件,根据id来判断存在,修改另一个文件的字段

import pandas as pd

data_file=''
compare_file=''
out_file=''

id_line_name= '标题'
update_line_name='价格'
sep_line='|'
data_df=pd.read_csv(data_file,header=None,sep=sep_line,error_bad_lines=False,low_memory=False)
data_df.drop_duplicates(id_line_name,keep='first')
data_df=data_df.reset_index(drop=True)

compare_df=pd.read_csv(compare_file,header=None,sep=sep_line,low_memory=False,on_bad_lines='skip')
compare_df.drop_duplicates(id_line_name,keep='first')
compare_df=compare_df.reset_index(drop=True)

out_df=pd.DataFrame(columns=None)

#把compare_df两列转化为字典
compare_dict=compare_df.set_index(id_line_name)[update_line_name].to_dict()
num = 1
for index,id in enumerate(data_df[id_line_name]):
    need_update_line=compare_dict.get(id,'')
    if need_update_line:
        data_bidtype=data_df[update_line_name].at[index]
        if data_bidtype != need_update_line:
            data_df[update_line_name].at[index]=need_update_line
            new_line=data_df.loc[index]
            out_df=out_df.append(new_line)
            print('已经加入第{0}数据'.format(num))
            num += 1
out_df.to_csv(out_file,sep=sep_line,header=False,index=False)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值