J'essaye donc de JSON de vider un dictionnaire créé à partir d'un fichier CSV traité en Python.Sérialisation du dictionnaire avec JSON
Méthode de création de dictionnaire:
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
Méthode de dictionnaire le dumping:
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
L'erreur que je reçois est:
"raise TypeError (rééd (o) +" n'est pas sérialisable JSON ")
TypeError: la classe 'collections.defaultdict' n'est pas JSON se rializable "
Où est-ce que je me trompe? Pourquoi ne puis-je pas stocker ce dict en mémoire? Est-ce que quelqu'un a une solution de contournement que je pourrais utiliser?
Merci beaucoup pour votre temps & aide, Faites-moi savoir si des éclaircissements sont nécessaires.
Qu'est-ce qui vous fait penser que quelque chose a mal tourné? –
'json.dump' ne renvoie rien, donc l'assigner' output' et le retourner est inutile. – Mikk
Vous devez mettre en retrait le corps d'une fonction. Je suppose que c'est une erreur de copie, pas dans le vrai code. – Barmar