apprentissage python (supplément)

Ceci est un supplément au module python CSV mentionné précédemment.

Honnêtement, vous pouvez le comprendre par document ou par google, Gardez-le comme un mémorandum

Si vous souhaitez ouvrir un fichier CSV et l'écrire dans un autre fichier tel quel Utilisez la méthode du lecteur pour passer au format liste

À ce stade, la valeur de retour de la méthode de lecture est bien entendu au format liste.

import csv

data=[]

#Lire CSV au format liste
with open('data.csv' , 'r', newline='' , encoding='utf-8') as f:

    r = csv.reader(f)
    data = [ i for i in r ]

#Écrire CSV au format liste
with open('data.csv' , 'w', newline='' , encoding='utf-8') as f:

    w = csv.writer(f)
    w.writerows(data)

À ce stade, les données seront une liste multiple comme indiqué ci-dessous.

[['python', '1'], ['php', '1']]

Lors de l'écriture avec writerow, une liste est passée en argument, Notez que dans le cas de plusieurs listes comme ci-dessus, vous devez écrire des lignes

Si vous essayez d'écrire une ligne, la valeur de retour sera la suivante (renvoyée sous forme de liste sur une ligne)

"['python', '1']","['php', '1']"

Si vous écrivez des lignes, la valeur de retour sera la suivante.

python,2
php,2

Utilisez la méthode DictReader pour passer au format dictionnaire

À ce stade, la valeur de retour de la méthode DictReader est bien entendu au format dictionnaire.

from collections import defaultdict
import csv

data = defaultdict(int)

with open('data.csv' , 'r', newline='' , encoding='utf-8') as f:

    r = csv.DictReader(f)
    data = [ i for i in r ]    #Enregistrer le dictionnaire dans la liste

with open('data.csv' , 'w', newline='' , encoding='utf-8') as f:
    fieldnames =['Name', 'Count']
    w = csv.DictWriter(f, fieldnames= fieldnames)
    w.writerows(data)

Si vous regardez à l'intérieur des variables comme dans le cas de la liste, les variables de données seront les suivantes

[{'Name': 'python', 'Count': '1'}, {'Name': 'php', 'Count': '1'}]

Cette fois, les clés et les valeurs sont présentées sous forme de dictionnaire

Lors de l'écriture, la liste est passée en argument à la méthode writerow En fait, cela devient une image de passage du contenu du dictionnaire dans une liste

Si vous essayez d'écrire avec writerow comme dans le cas de la liste, une erreur d'attribut se produira comme suit Je me fâche que l'objet liste n'ait pas d'attribut appelé clé

AttributeError: 'list' object has no attribute 'keys'

Si vous utilisez writerows, vous pouvez écrire comme suit comme dans le cas de list

python,1
php,1

J'ai compris que la méthode writerows est utilisée lors du passage à la fois de la liste de base et du dictionnaire plusieurs fois.

Recommended Posts

apprentissage python (supplément)
apprentissage de python
[Python] Note d'apprentissage 1
Notes d'apprentissage Python
sortie d'apprentissage python
Site d'apprentissage Python
Apprentissage Python jour 4
Apprentissage en profondeur Python
Apprentissage profond × Python
notes d'apprentissage python
Classe Python (mémo d'apprentissage Python ⑦)
Apprendre Python avec ChemTHEATER 03
"Orienté objet" appris avec python
Module Python (mémo d'apprentissage Python ④)
Apprentissage amélioré 1 installation de Python
Apprendre Python avec ChemTHEATER 05-1
Python: pratique du Deep Learning
Python ~ Apprentissage rapide de la grammaire ~
Python: apprentissage non supervisé: principes de base
Procédure d'apprentissage privée Python
Apprendre Python avec ChemTHEATER 02
Apprendre Python avec ChemTHEATER 01
Python: réglage du Deep Learning
Apprentissage amélioré Python + Unity (apprentissage)
Python: apprentissage supervisé (retour)
Python: apprentissage supervisé (classification)
Gestion des exceptions Python (mémo d'apprentissage Python ⑥)
Mémo d'apprentissage O'Reilly python3 Primer
Flux d'apprentissage pour les débutants en Python
Python
Python: Apprentissage supervisé: Hyper Paramètres Partie 1
Plan d'apprentissage Python pour l'apprentissage de l'IA
Apprentissage amélioré à partir de Python
Apprentissage automatique avec Python! Préparation
Programmation Python Machine Learning> Mots-clés
Python: apprentissage supervisé: Hyper Paramètre partie 2
La recommandation de Checkio pour apprendre Python
Commencer avec l'apprentissage automatique Python
Traitement itératif Python appris avec ChemoInfomatics
Python: apprentissage non supervisé: clustering non hiérarchique
Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Mettre en œuvre l'apprentissage de l'empilement en Python [Kaggle]
Construction d'un environnement d'apprentissage amélioré Python + Unity
Python: Application de l'apprentissage supervisé (retour)
Apprentissage automatique par python (1) Classification générale
Résumé de l'apprentissage automatique par les débutants de Python
Entrée / sortie avec Python (mémo d'apprentissage Python ⑤)
Notation que j'ai rencontrée lors de l'apprentissage de Python
Règles d'apprentissage Widrow-Hoff implémentées en Python
Expérience d'apprentissage Perceptron apprise avec Python