Итак, я пытаюсь JSON выдавить словарь, созданный из обработанного CSV в Python.Сериализационный словарь с 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 (магнезии (о) +" не является JSON-сериализуемым ")
ТипError: class 'collections.defaultdict' не является JSON se rializable "
Куда я иду не так? Почему я не могу хранить этот dict в памяти? У кого-нибудь есть обходной путь, который я мог бы использовать?
Большое спасибо за ваше время & help, Дайте мне знать, если потребуется дополнительное разъяснение.
Что заставляет вас думать, что что-то пошло не так? –
'json.dump' ничего не возвращает, поэтому присвоить его' output' и вернуть его бесполезно. – Mikk
Вам нужно отступом тело функции. Я предполагаю, что это ошибка копирования, а не в реальном коде. – Barmar