Heim > Backend-Entwicklung > Python-Tutorial > Wie können Pandas mit unregelmäßigen Leerzeichen bei der CSV-Trennung umgehen?

Wie können Pandas mit unregelmäßigen Leerzeichen bei der CSV-Trennung umgehen?

Mary-Kate Olsen
Freigeben: 2024-10-22 08:18:30
Original
320 Leute haben es durchsucht

How Can Pandas Handle Irregular Whitespace in CSV Separation?

CSV-Trennzeichen flexibler für unregelmäßige Leerzeichen in Pandas machen

Bei Verwendung von pandas.read_csv() zum Erstellen von Datenrahmen aus Dateien mit unregelmäßigen Spaltentrennzeichen Es ist üblich, auf Herausforderungen zu stoßen. Einige Spalten können durch Tabulatoren getrennt sein, während andere durch eine unterschiedliche Anzahl von Leerzeichen oder sogar eine Mischung aus Leerzeichen und Tabulatoren getrennt sind. Diese Unregelmäßigkeit kann zu Parsing-Problemen führen.

Um dieses Problem zu lösen, bietet Pandas zwei Optionen: die Verwendung eines regulären Ausdrucks (Regex) oder die Einstellung von delim_whitespace.

Verwendung eines regulären Ausdrucks

Mit der Regex-Option können Sie ein Muster für das Trennzeichen angeben. Zum Beispiel:

<code class="python">import pandas as pd
df = pd.read_csv("file.csv", header=None, delimiter=r"\s+")</code>
Nach dem Login kopieren

Hier entspricht r"s " einem oder mehreren Leerzeichen (einschließlich Leerzeichen und Tabulatoren).

Verwendung von delim_whitespace

Die Option delim_whitespace=True erkennt automatisch Leerzeichen (Leerzeichen und Tabulatoren) als Trennzeichen:

<code class="python">df = pd.read_csv("file.csv", header=None, delim_whitespace=True)</code>
Nach dem Login kopieren

Vergleich mit Pythons Split()-Methode

Das haben Sie in Python erwähnt , können Sie line.split() verwenden, um variable Leerzeichen ohne Probleme zu verarbeiten. pandas.read_csv() bietet eine ähnliche Flexibilität durch die Optionen delim_whitespace und regex.

Beispiel

Verwendung der folgenden Eingabedatei (whitespace.csv):

a    b    c 1 2
d    e    f 3 4
Nach dem Login kopieren

Der folgende Code erstellt einen Datenrahmen mit korrekter Spaltentrennung, unabhängig vom Trennzeichentyp:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie können Pandas mit unregelmäßigen Leerzeichen bei der CSV-Trennung umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage