ある列の重複した値を見つけて、複数の列を持つ 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])