Saut des en-têtes lors du traitement de fichiers CSV avec Python
Problème :
Lors de la tentative de traitement un fichier CSV utilisant Python, l'utilisateur rencontre un problème où la première ligne, contenant les en-têtes, est modifiée par les fonctions de traitement. Le but est d'éditer le fichier CSV à partir de la deuxième ligne, en excluant les en-têtes.
Solution :
Pour résoudre ce problème, l'objet csv.reader fourni par le module Python CSV peut être utilisé pour ignorer les en-têtes pendant le traitement. Les étapes suivantes décrivent la solution :
Ouvrez les fichiers CSV en tant que gestionnaires de contexte :
<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file:</code>
L'utilisation de with en tant que gestionnaire de contexte gère automatiquement l'ouverture et la fermeture des fichiers CSV, assurant une bonne gestion des ressources.
Créer les objets Reader et Writer :
<code class="python">reader = csv.reader(in_file) writer = csv.writer(out_file)</code>
Le csv .reader crée un objet itérable pour parcourir les lignes CSV, tandis que csv.writer permet d'écrire des lignes dans le fichier CSV de sortie.
Ignorer les en-têtes :
<code class="python">next(reader, None)</code>
Cette ligne fait avancer l'itérateur jusqu'à la première ligne sans l'attribuer à une variable. En fournissant Aucun comme deuxième argument, la ligne ignorée est ignorée.
Traiter et écrire les lignes restantes :
<code class="python">for row in reader: # Perform processing writer.writerow(row)</code>
Parcourir les lignes restantes, à l'exclusion des en-têtes, effectuent le traitement nécessaire et écrivent les lignes modifiées dans le fichier de sortie.
Écrivez éventuellement les en-têtes (si vous le souhaitez) :
<code class="python">headers = next(reader, None) if headers: writer.writerow(headers)</code>
Ce bloc de code permet d'écrire les en-têtes dans le fichier de sortie non traités en passant le résultat de next() àwriter.writerow().
Par en suivant ces étapes, le code Python ignorera les en-têtes lors du traitement du fichier CSV, garantissant ainsi que la première ligne reste inchangée.
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!