-1

ある列の重複した値を見つけて、複数の列を持つ csv の別の列の値に置き換えたいです。最初に、csv から辞書に 2 つの列を配置します。次に、文字列値とキーを持つ辞書の重複値を見つけたいと思います。辞書の重複を削除するソリューションを試してみましたが、ハッシュできない、または結果がないというエラーが発生しました。これがコードの最初の部分です。

import csv
from collections import defaultdict
import itertools as it

mydict = {}
index = 0
reader = csv.reader(open(r"computing.csv", "rb"))
for i, rows in enumerate(reader):
    if i == 0: 
    continue

    if len(rows) == 0:
        continue
    k = rows[3].strip()      
    v = rows[2].strip()    
    if k in mydict:        
        mydict[k].append(v)
    else:
        mydict[k] = [v]

#mydict = hash(frozenset(mydict))

print mydict

d = {}
while True:
    try:        
        d = defaultdict(list)
        for k,v in mydict.iteritems():
            #d[frozenset(mydict.items())]
            d[v].append(k)
    except:
        continue

writer = csv.writer(open(r"OLD.csv", 'wb'))
for key, value in d.items():
    writer.writerow([key, value])
4

1 に答える 1