Maison >développement back-end >Tutoriel Python >Comment les pandas peuvent-ils gérer les espaces irréguliers dans la séparation CSV ?
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>
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>
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
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>
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!