J'essaye d'écrire des données de dictionnaire dans le fichier csv.meilleure façon d'écrire des données de dictionnaire dans csv ou excel
Clés:
['file_name', 'candidate_skills', 'SF_name', 'RB_name', 'mb_number', 'email']
Dictionnaire
{'file_name': 'Aarti Banarashi.docx', 'candidate_skills': ['JQuery', ' ', 'Bootstrap', 'codeigniter', '\n', 'Javascript', 'Analysis', 'Ajax', 'HTML', 'Html5', 'SQL', 'MySQL', 'PHP', 'CSS'], 'SF_name': None, 'RB_name': 'aarti banarashi\t\t\t', 'mb_number': ['+918108493333'], 'email': '[email protected]'}
Je pensais chaque dictionnaire sera écrit sur la ligne à chaque valeur dans la nouvelle colonne
'file_name' 'candidate_skills' 'SF_name' 'RB_name' 'mb_number' 'email'
Je suis d'obtenir des résultats comme ceci, en une seule colonne:
file_name,Aarti Banarashi.docx
candidate_skills,"['JQuery', ' ', 'Bootstrap', 'codeigniter', '\n', 'Javascript', 'Analysis', 'Ajax', 'HTML', 'Html5', 'SQL', 'MySQL', 'PHP', 'CSS']"
SF_name,
RB_name,aarti banarashi
mb_number,['+918108493333']
email,[email protected]
Pouvez-vous s'il vous plaît m'aider à l'écrire de manière correcte? Aussi, quand j'ajouter de nouveaux enregistrements, il doit se joint
Mon code:
with open('dict.csv', 'wb') as csv_file:
writer = csv.writer(csv_file)
for key, value in res.items():
writer.writerow([key, value])
Sortie prévue
Si vous écrivez un dictionnaire dans un fichier CSV, utilisez [ 'csv.DictWriter'] (https: // docs.python.org/3/library/csv.html#csv.DictWriter). Actuellement, vous écrivez explicitement chaque paire clé-valeur sur sa propre ligne ('writer.writerow ([clé, valeur])'), il n'est donc pas clair pourquoi ce résultat vous a étonné. – jonrsharpe
Le code est illisible dans les commentaires, particulièrement dans Python où les espaces sont importants. ** [Modifier] la question **, pour donner un [mcve]. – jonrsharpe
Merci @jonrsharpe, j'ai essayé 'writer = csv.DictWriter (csv_file, res.keys())' qui me donne l'erreur 'ValueError: dict contient des champs pas dans les noms de champs: 'Aarti Yadav.docx' – honeyboney