python csv多列数据比较,如果符合条件,按顺序返回结果值

该程序读取'1.csv'和'2.csv'两个CSV文件,通过匹配两文件中相同的第一列和第二列的值,将'1.csv'中的第三列数据整合到'2.csv'中。若在'1.csv'中找不到匹配项,则在结果中标记为'none'。最终,生成的'666.csv'文件包含了整合后的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


import csv
import pandas as pd

#2.csv 这个表格是最终你要往里面补充数据的表格,哪个表格放在前面,结果就会按照哪个表格的顺序输出结果
if __name__ == '__main__':
    list = []
    with open('2.csv', encoding='utf-8') as file:
        f_csv = csv.reader(file)
        for i, rows in enumerate(f_csv):
            if i >= 1:
                list.append([rows[1], rows[5]])
        print(list)

#1.csv 要从中提取数据的表格,也就是说2.csv 表格的数据包含在1.csv中
    list2 = []
    with open('1.csv', encoding='utf-8') as f2:
        f2_csv = csv.reader(f2)
        for i, row1 in enumerate(f2_csv):
            if i >= 1:
                list2.append([row1[1], row1[5], row1[12]])
        # print(list2)
    datas = []
    flag = True
    for item in list:
        for item2 in list2:
            if item[0] == item2[0] and item[1] == item2[1]:
                datas.append({"ji":item2[0],'xixi':item2[1],'xu':item2[2]})
                flag = False
                break
        if flag:
            datas.append({"ji":item[0],'xixi':'none','xu':'none'})
        else:
            flag = True

            # print(datas)
    #
    df=pd.DataFrame(datas)
    df.to_csv("666.csv", index=0)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值