我對這個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