在python中合并csv文件的列,每行中的变量条目?

时间:2011-12-14 11:59:00

标签: python csv merge

我有2个csv文件

一个跟踪路由到不同的IP地址(这里的最后一个条目是目标IP)(它们是每行中可变数量的条目,因为不同的路由需要不同的跳数)

其他包含目标列表及其真实世界位置坐标

第一个文件中的某些目标在第二个文件中没有条目,反之亦然

如何让现实世界与具有匹配目标IP的第一个csv文件相关联? 这两个文件就像这些

hop1,hop2,hop3,hop4,target1
hop1,hop2,hop3,hop4,hop5,hop6,target2

target99,position    

1 个答案:

答案 0 :(得分:0)

import csv

ip_file = open("ipfile.csv")
position_file = open("positionfile.csv")
output = open("output.csv", "wt")

ips = {}    

# create a CSV reader for the proper csv file with locations:
reader = csv.reader(position_file)
for line in reader:
    ips[line[0]] = line[1]


#now you have the IP + location association

for line in ip_file.readlines():
    ip = line.split(",")[-1].strip()
    output.write(line.strip() + ", " + (ips[ip] if ip in ips else "location unknown") + "\n" )

output.close()