【发布时间】:2017-11-07 08:53:16
【问题描述】:
我有 2 个通过 python 生成的 csv 文件。记录如下(a.csv 和 b.csv)。 b.csv 有 2 行,第二行中的值可以重复。我想要像final.csv 这样的结果。我怎样才能做到这一点?
我尝试了下面的代码,但这是不对的。我没有做正确的比较。任何帮助都会很棒。
a.csv
"all","1","1Gi","4","8Gi"
"als","0","0","100m","128Mi"
"awx","6","9Gi","20","32Gi"
"cho-1","9","9728Mi","15","20Gi"
"cho-2","12250m","15395Mi","20","24Gi"
b.csv
"all","ABC"
"als","ABC"
"awx","DPL"
"cho-1","ABC"
"cho-2","ABC"
"cho-3","ABC"
我想从下面两个文件中创建一个文件
final.csv
"all","1","1Gi","4","8Gi","ABC"
"als","0","0","100m","128Mi","ABC"
"awx","6","9Gi","20","32Gi","DPL"
"cho-1","9","9728Mi","15","20Gi","ABC"
"cho-2","12250m","15395Mi","20","24Gi","ABC"
我的代码:
csv1 = csv.reader(open("reports/a.csv", "r"))
csv2 = csv.reader(open("reports/b.csv", "r"))
s=[]
while True:
try:
line1 = csv1.next()
line2 = csv2.next()
if (line1[0] == line2[0]):
s.append([line1[1], line2[0], line2[1], line2[2], line2[3], line2[4]])
else:
s.append(["NA", line2[0], line2[1], line2[2], line2[3], line2[4]])
except StopIteration:
break
【问题讨论】:
标签: python python-2.7 csv