Comment les pandas peuvent-ils gérer les espaces irréguliers dans la séparation CSV ?

Mary-Kate Olsen
Libérer: 2024-10-22 08:18:30
original
202 Les gens l'ont consulté

How Can Pandas Handle Irregular Whitespace in CSV Separation?

Rendre les séparateurs CSV plus flexibles pour les espaces irréguliers dans Pandas

Lors de l'utilisation de pandas.read_csv() pour créer des trames de données à partir de fichiers avec des séparateurs de colonnes irréguliers , rencontrer des difficultés est courant. Certaines colonnes peuvent être séparées par des tabulations, tandis que d'autres sont séparées par un nombre variable d'espaces ou même par un mélange d'espaces et de tabulations. Cette irrégularité peut entraîner des problèmes d'analyse.

Pour résoudre ce problème, pandas propose deux options : utiliser une expression régulière (regex) ou définir delim_whitespace.

Utiliser une expression régulière

L'option regex vous permet de spécifier un modèle pour le séparateur. Par exemple :

<code class="python">import pandas as pd
df = pd.read_csv("file.csv", header=None, delimiter=r"\s+")</code>
Copier après la connexion

Ici, r"s " correspond à un ou plusieurs caractères d'espacement (y compris les espaces et les tabulations).

Utilisation de delim_whitespace

L'option delim_whitespace=True détecte automatiquement les espaces (espaces et tabulations) comme séparateurs :

<code class="python">df = pd.read_csv("file.csv", header=None, delim_whitespace=True)</code>
Copier après la connexion

Comparaison avec la méthode split() de Python

Vous avez mentionné cela en Python , vous pouvez utiliser line.split() pour gérer les espaces variables sans problème. pandas.read_csv() offre une flexibilité similaire grâce aux options delim_whitespace et regex.

Exemple

Utilisation du fichier d'entrée suivant (whitespace.csv) :

a    b    c 1 2
d    e    f 3 4
Copier après la connexion

Le code suivant créera un dataframe avec une séparation de colonnes correcte, quel que soit le type de séparateur :

<code class="python">df = pd.read_csv("whitespace.csv", header=None, delim_whitespace=True)

print(df)

   0  1  2  3  4
0  a  b  c  1  2
1  d  e  f  3  4</code>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!