我对这个python编程很新。我有两个csv文件。我必须使用公共列名称来合并它们。我一直在试着看其他几个帖子。但无法让我的2.5版本的Python中运行的代码。所以任何人都可以帮我解决这个问题 文件可能看起来像这样如何合并两个csv文件与python 2.5版本中的公共列
File1
split_name, vcc, temp, c
A, 1,2,1
B,2,3,5
File 2
split_name, cout, i, vout
A, 2.5,2, 1
B, 2.4,1,8
结果文件应该是这样的
split_name,vcc,temp,c,cout,i,vout
A, 1, 2, 1, 2.5,2,1
B, 2, 3, 5, 2.4,1,8
认为我想的代码是:
import csv
import array
import os
#def readfile2(file2name):
r = csv.reader(open('file1.csv','r'))
dict2 = {row[0]: row[1:] for row in r}
print str(dict2)
#print dict2.keys()
#def readfile1(file1name):
reader1 = csv.reader(open('file2.csv','r'))
for row in reader1:
dict1 = {row[0]: row[1:]}
#print str(dict1)
#print dict1.values()
print str(dict1)
keys = set(dict1.keys() + dict2.keys())
with open('output.csv', 'wb') as f:
w = csv.writer(f, delimiter=',')
w.writerows([[key, dict1.get(key, "''"), dict2.get(key, "''")] for key in keys])
但是,我也遇到了错误是:
keys = set((dict1.keys())+(dict2.keys ())) TypeError:不支持的操作数类型为+:'dict_keys'和'dict_keys'
注意:我已经安装了python 3.4版本。
您的帮助将不胜感激!
请提供你有这么远的代码,并告诉我们究竟是怎么了。它会为回答你的问题的人澄清事情。 – Olga
@Olga我用我试过的代码编辑了这个问题。可以帮我解决吗? – rami92