Excel 中根据一列的值匹配另一列

首先来说我们在工作表中有两个列表,并且它们都具有相同的值但顺序不同,那么如何排列一个列表以匹配另一个列表,如下图所示?

上述两篇文章介绍的方法我都已经尝试了,在我的应用场景下都没有成功,最后还是动用了 Python 才完成自己目标,特将代码记录如下。
其实下面这段代码非常烂~~ 但没办法,不忍心丢掉,当时也没时间再完善它了

import pandas as pd
data = pd.read_excel(u'样例表.xlsx')
benchmark_list = list(data['基准列'])
benchmark_list = list(map(lambda x: x.strip(), benchmark_list))
for index, i in enumerate(list(data['待排序列'][0:310])):  # 根据自己情况指定开始和结束的行数
    if i.strip() in benchmark_list:
        data.loc[benchmark_list.index(i.strip()), '序号'] = index
    else:
        print(i, '没找到')
data.to_excel(u'样例表python处理版.xlsx', index=False)

程序生成的结果也仅仅是一个中间文件,接下来就是选中刚才生成的那一串序列以及要排序的部分,在 Excel 的数据选项卡下面选择排序,设定以那一列为基准进行排序,如果有标题记得勾选包含标题。

好吧,这是一篇狗屎一般的文章~~~

文章最后更新时间为:2018 年 11 月 09 日 19:14:22

添加新评论