我正在尝试编写一个程序,它用python执行以下操作
第一个CSV文件是Mater CSV文件,其中包含所有正确的信息。它看起来如下所示
第二个CSV希望与主服务器通信,如下所示
我希望能够检查第二个CSV中具有相应名称的ID是否与主CSV中的匹配ID匹配
如果没有,则将ID、存在差异的名称和位置输出到新的CSV
这就是我尝试过的
with open(file1) as fp1:
root = csv.reader(fp1)
rows1 = {}
for i in root:
rows1[i[0]]=i
if "id" in rows1:
del rows1["id"]
with open(file2) as fp1:
root = csv.reader(fp1)
rows2 = {}
for i in root:
rows2[i[0]]=i
if "id" in rows2:
del rows2["id"]
result = set(rows1.keys()).intersection(set(rows2.keys()))
此解决方案的问题在于,它只是比较ID而不是名称数据,与主数据相比,名称数据位于不同的列中
我不知道如何读取和比较列并将数据输出到新的CSV
也许我会使用数据帧连接来获得所需的结果,而不是使用这种方法
其中,Name2中是复制的名称列
现在,我可以用值过滤掉名称列,从而得到所需的结果,获得所需的列并将其写入csv
相关问题 更多 >
编程相关推荐