


Comment utiliser le module CSV pour travailler avec les fichiers CSV dans Python?
Jun 25, 2025 am 01:03 AMLe module CSV de Python fournit un moyen facile de lire et d'écrire des fichiers CSV. 1. Lors de la lecture d'un fichier CSV, vous pouvez utiliser CSV.Reader () pour lire la ligne par ligne et retourner chaque ligne de données en tant que liste de cha?nes; Si vous devez accéder aux données via des noms de colonne, vous pouvez utiliser CSV.DicTreader () pour cartographier chaque ligne dans un dictionnaire. 2. Lorsque vous écrivez dans un fichier CSV, utilisez CSV.Writer () et Call Writerow () ou Writerrows () pour écrire des lignes de données uniques ou multiples; Si vous souhaitez rédiger des données de dictionnaire, utilisez CSV.DictWriter (), vous devez d'abord définir le nom de la colonne et écrire l'en-tête via WriteHeader (). 3. Lorsque vous traitez avec des cas de bord, le module gère automatiquement les virgules et les ruptures de ligne dans les champs cités, mais prêtez attention à utiliser correctement les devis; Dans le même temps, vous devez prêter attention aux problèmes d'encodage, tels que UTF-8-Bom sous Windows et éviter les problèmes causés par des lignes vides. Il est recommandé de toujours définir newline = '' lors de l'ouverture du fichier. 4. Le module prend en charge les délimiteurs personnalisés. Après avoir enregistré un dialecte personnalisé via csv.register_dialect (), il peut facilement gérer les fichiers de données séparés par des délimiteurs non standard (tels que les onglets).
Travailler avec les fichiers CSV dans Python est simple grace au module csv
intégré. Que vous lisiez ou que vous écriviez à un fichier CSV, ce module vous donne des outils simples qui gérent les taches les plus courantes sans avoir rien d'autre.
Lire des fichiers CSV
Si vous souhaitez retirer les données d'un fichier CSV, la fonction csv.reader()
est votre option de référence. Il lit la ligne de fichier par ligne, vous donnant chaque ligne comme une liste de cha?nes.
Disons que vous avez un fichier appelé data.csv
qui ressemble à ceci:
Nom, age, emplacement Alice, 30 ans, New York Bob, 25 ans, Los Angeles Charlie, 35 ans, Chicago
Voici comment vous le liriez:
Importer CSV avec open ('data.csv', newline = '') comme csvfile: lecteur = CSV.Reader (CSVFile) Pour Row in Reader: Imprimer (ligne)
Ce sera sorti:
['Name', 'age', 'emplacement'] [?Alice?, ?30?, ?New York?] ['Bob', '25', 'Los Angeles'] ['Charlie', '35', 'Chicago']
Quelques choses à noter:
- Assurez-vous d'utiliser
newline=''
lors de l'ouverture du fichier pour éviter les problèmes avec des lignes vides sur certaines plates-formes. - Chaque ligne est renvoyée en tant que liste, donc si vous avez besoin de valeurs spécifiques, indexez simplement dans la liste (par exemple,
row[1]
pour l'age).
Si votre CSV a des en-têtes et que vous souhaitez travailler avec des champs nommés, envisagez d'utiliser csv.DictReader
, qui mappe chaque ligne à un dictionnaire:
avec open ('data.csv', newline = '') comme csvfile: lecteur = csv.dictreader (csvfile) Pour Row in Reader: imprimer (ligne ['name'], ligne ['age'])
Maintenant, vous travaillez avec des paires de valeurs clés au lieu d'index - plus facile à gérer si vos données ont des noms de colonne clairs.
écriture dans les fichiers CSV
La rédaction de données dans un fichier CSV est tout aussi facile à l'aide de csv.writer()
. Vous créez un objet d'écrivain, puis passez-le des lignes de données.
Supposons que vous ayez une liste de listes et que vous souhaitez les écrire dans un nouveau fichier CSV:
data = [ ['Name', '?ge', 'Location'], ['Alice', '30', 'New York'], ['Bob', '25', 'Los Angeles'] ]] avec open ('output.csv', 'w', newline = '') comme csvfile: écrivain = csv.writer (csvfile) écrivain.writerows (données)
Vous obtiendrez un fichier qui ressemble à ceci:
Nom, age, emplacement Alice, 30 ans, New York Bob, 25 ans, Los Angeles
Quelques conseils:
- Utilisez le mode
'w'
pour écraser un fichier existant ou en créer un nouveau. - Si vous souhaitez ajouter un CSV existant, utilisez plut?t le mode
'a'
. - La méthode
writerow()
écrit une seule ligne, tandis quewriterows()
écrit plusieurs lignes à la fois.
Encore une fois, si vous souhaitez écrire des dictionnaires au lieu de listes, utilisez csv.DictWriter
. N'oubliez pas de spécifier d'abord les noms de champs:
FieldNames = ['Name', 'Age', 'Location'] avec open ('output.csv', 'w', newline = '') comme csvfile: écrivain = csv.dictwriter (csvfile, fieldNames = fieldNames) writer.writeHeader () writer.writerow ({'name': 'Alice', 'Age': 30, 'Location': 'New York'})
Traiter les cas de bord
Les fichiers CSV contiennent parfois des virgules à l'intérieur des champs cités, ou même des ruptures de ligne dans les cellules. Le module csv
gère automatiquement ces cas, mais uniquement si vous utilisez correctement le module.
Par exemple, si un nom est écrit comme "Smith, John"
à l'intérieur d'une cellule, le lecteur le traitera toujours comme une valeur unique - tant que les devis sont correctement utilisés dans le fichier.
Soyez également prudent avec le codage:
- Sur Windows, en particulier avec les CSV générés par Excel, vous pourriez rencontrer des problèmes UTF-8-BOM. Dans ce cas, ouvrez le fichier avec
encoding='utf-8-sig'
. - Si vous avez affaire à des personnages non anglais, assurez-vous de définir le codage correct lors de la lecture et de l'écriture.
Une autre chose à surveiller: les lignes vides. Certains lecteurs de CSV (comme Excel) peuvent mal interpréter des lignes vierges supplémentaires. Pour éviter cela, utilisez toujours newline=''
lors de l'ouverture des fichiers en mode écriture.
Enfin, n'oubliez pas les dialectes. Le module csv
prend en charge les dialectes personnalisés si votre CSV utilise des délimiteurs non standard (comme des onglets ou des semi-colons). Par exemple:
csv.register_dialect ('mydialect', délimiter = '\ t', citant = csv.quote_none) avec open ('data.tsv', newline = '') comme f: lecteur = csv.reader (f, dialect = 'mydialect')
De cette fa?on, vous pouvez adapter le module csv
pour s'adapter à différents formats sans réécrire votre logique.
Ces modèles de base couvrent la plupart des cas d'utilisation. Une fois que vous êtes à l'aise avec eux, vous pouvez commencer à les combiner - comme la lecture d'un CSV, le traitement des données et l'écriture à un autre. Mais même si vous vous arrêtez ici, vous avez des outils solides pour gérer les fichiers CSV dans Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour réaliser la correction d'erreur de texte et l'optimisation de la syntaxe avec l'IA, vous devez suivre les étapes suivantes: 1. Sélectionnez un modèle ou une API d'IA appropriée, tels que Baidu, Tencent API ou bibliothèque NLP open source; 2. Appelez l'API via Curl ou Guzzle de PHP et traitez les résultats de retour; 3. Afficher les informations de correction d'erreur dans l'application et permettre aux utilisateurs de choisir d'adopter l'adoption; 4. Utilisez PHP-L et PHP_CODESNIFFER pour la détection de syntaxe et l'optimisation du code; 5. Collectez en continu les commentaires et mettez à jour le modèle ou les règles pour améliorer l'effet. Lorsque vous choisissez AIAPI, concentrez-vous sur l'évaluation de la précision, de la vitesse de réponse, du prix et du support pour PHP. L'optimisation du code doit suivre les spécifications du PSR, utiliser le cache raisonnablement, éviter les requêtes circulaires, revoir le code régulièrement et utiliser x

Utilisez le plot conjoint de Seaborn pour visualiser rapidement la relation et la distribution entre deux variables; 2. Le tracé de diffusion de base est implémenté par sn.jointplot (data = pointes, x = "total_bill", y = "Tip", kind = "dispers"), le centre est un tracé de dispersion et l'histogramme est affiché sur les c?tés supérieur et inférieur et droit; 3. Ajouter des lignes de régression et des informations de densité à un kind = "reg" et combiner marginal_kws pour définir le style de tracé de bord; 4. Lorsque le volume de données est important, il est recommandé d'utiliser "Hex"

Les listes de cha?nes peuvent être fusionnées avec la méthode join (), telles que '' .join (mots) pour obtenir "HelloworldFrompython"; 2. Les listes de nombres doivent être converties en cha?nes avec MAP (STR, nombres) ou [STR (x) Forxinnumbers] avant de rejoindre; 3. Toute liste de types peut être directement convertie en cha?nes avec des supports et des devis, adaptées au débogage; 4. Les formats personnalisés peuvent être implémentés par des expressions de générateur combinées avec join (), telles que '|' .join (f "[{item}]" ForIteminitems)

Installez PYODBC: utilisez la commande PiPInstallpyodbc pour installer la bibliothèque; 2. Connectez SQLServer: utilisez la cha?ne de connexion contenant le pilote, le serveur, la base de données, l'UID / PWD ou TrustEd_Connection via la méthode pyoDBC.Connect () et prendre en charge l'authentification SQL ou l'authentification Windows respectivement; 3. Vérifiez le pilote installé: exécutez pyodbc.Drivers () et filtrez le nom du pilote contenant ?SQLServer? pour vous assurer que le nom du pilote correct est utilisé tel que ?ODBCDriver17 pour SQLServer?; 4. Paramètres clés de la cha?ne de connexion

pandas.melt () est utilisé pour convertir les données de format larges en format long. La réponse consiste à définir de nouveaux noms de colonne en spécifiant id_vars conserver la colonne d'identification, Value_Vars Sélectionnez la colonne à fondre, var_name et valeur_name, 1.id_vars = 'name' signifie que la colonne de nom reste inchangée, 2.Value_vars = [Math ',' English ',' Science '. du nom de colonne d'origine, 4.value_name = 'score' définit le nouveau nom de colonne de la valeur d'origine et génère enfin trois colonnes, notamment le nom, le sujet et le score.

PythonCanBeoptimizedFormemory-Boundoperations AdreductoverHeadHroughGenerators, EfficientDatastructures et ManagingObjectliFetimes.first, useGeneratorsInSteadofListStoproceSlargedataseSeItematatime, EvitingLoadingEnteryToMeToMeMory.

Définissez d'abord un formulaire ContactForm contenant le nom, la bo?te aux lettres et les champs de message; 2. De l'avis, la soumission du formulaire est traitée en jugeant la demande de poste, et après la vérification, nettoyée_data est obtenue et la réponse est retournée, sinon le formulaire vide sera rendu; 3. Dans le modèle, utilisez {{form.as_p}} pour rendre le champ et ajouter {% csrf_token%} pour empêcher les attaques CSRF; 4. Configurer le routage d'URL vers Point / Contact / vers la vue Contact_View; Utilisez Modelform pour associer directement le modèle pour obtenir un stockage de données. Djangoforms implémente le traitement intégré de la vérification des données, le rendu HTML et les invites d'erreur, qui convient au développement rapide des fonctions de forme s?re.

L'introduction à l'arbitrage statistique L'arbitrage statistique est une méthode commerciale qui capture l'inadéquation des prix sur le marché financier basé sur des modèles mathématiques. Sa philosophie principale découle de la régression moyenne, c'est-à-dire que les prix des actifs peuvent s'écarter des tendances à long terme à court terme, mais reviendront éventuellement à leur moyenne historique. Les traders utilisent des méthodes statistiques pour analyser la corrélation entre les actifs et rechercher des portefeuilles qui changent généralement de manière synchrone. Lorsque la relation de prix de ces actifs est anormalement déviée, des opportunités d'arbitrage se présentent. Sur le marché des crypto-monnaies, l'arbitrage statistique est particulièrement répandu, principalement en raison de l'inefficacité et des fluctuations drastiques du marché lui-même. Contrairement aux marchés financiers traditionnels, les crypto-monnaies fonctionnent 24h / 24 et leurs prix sont très susceptibles de briser les nouvelles, les sentiments des médias sociaux et les améliorations technologiques. Cette fluctuation des prix constante crée fréquemment un biais de prix et fournit aux arbitrageurs un
