私は、処理済みのCSVから作成した辞書をPythonでJSONダンプしようとしています。辞書を作成するためのJSONを使用したシリアライズ
方法:辞書をダンプする
def createUUIDDocIDLink(path):
dict = defaultdict
with open(path) as citTSV:
header = 0
for line in csv.reader(citTSV, dialect = "excel-tab"):
if header > 0 and line[1] not in dict:
dict[line[1]] = [line[0]]
elif header > 0 and line[1] in dict:
dict[line[1]].append(line[0])
header += 1
return dict
は方法:
def dumpCreateUUIDDocIDLink():
with open("D:/Coding/FE_InOut/dumpUUIDDocIDLookup",'w') as ULookup:
output = json.dump(createUUIDDocIDLink("D:/Coding/FE_InOut/ipcr.tsv"),ULookup)
return output
私が受けてるのエラーは次のとおりです。
"はTypeError(のrepr(O)+を上げます" JSONはシリアライズできません ")
TypeError: 'collections.defaultdict'クラスがJSONではありませんse私は間違っていますか?なぜこの言葉を記憶に入れられないのですか?誰も私が使用できる回避策がありますか?
ありがとうございました&ヘルプ、 もっと明確にする必要がある場合はお知らせください。
何かが間違っていると思いますか? –
'json.dump'は何も返さないので、' output'に代入して返すことは無用です。 – Mikk
関数の本体をインデントする必要があります。私はそれが実際のコードではなくコピーエラーであると仮定します。 – Barmar