Heim  >  Artikel  >  Backend-Entwicklung  >  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
Mary-Kate OlsenOriginal
2024-10-22 08:18:30206Durchsuche

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>

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>

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

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>

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!

Stellungnahme:
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