Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Panda Boleh Mengendalikan Ruang Putih Tidak Teratur dalam Pemisahan CSV?

Bagaimanakah Panda Boleh Mengendalikan Ruang Putih Tidak Teratur dalam Pemisahan CSV?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-22 08:18:30314semak imbas

How Can Pandas Handle Irregular Whitespace in CSV Separation?

Menjadikan Pemisah CSV Lebih Fleksibel untuk Ruang Putih Tidak Teratur dalam Panda

Apabila menggunakan pandas.read_csv() untuk mencipta bingkai data daripada fail dengan pemisah lajur tidak teratur , menghadapi cabaran adalah perkara biasa. Sesetengah lajur mungkin dipisahkan oleh tab, manakala yang lain dipisahkan dengan bilangan ruang yang berbeza-beza atau malah gabungan ruang dan tab. Penyelewengan ini boleh membawa kepada isu penghuraian.

Untuk menangani masalah ini, panda menyediakan dua pilihan: menggunakan ungkapan biasa (regex) atau menetapkan delim_whitespace.

Menggunakan Ungkapan Biasa

Pilihan regex membolehkan anda menentukan corak untuk pemisah. Contohnya:

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

Di sini, r"s " sepadan dengan satu atau lebih aksara ruang putih (termasuk ruang dan tab).

Menggunakan delim_whitespace

Pilihan delim_whitespace=True secara automatik mengesan ruang kosong (ruang dan tab) sebagai pemisah:

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

Perbandingan dengan Kaedah split() Python

Anda menyebutnya dalam Python , anda boleh menggunakan line.split() untuk mengendalikan ruang putih berubah tanpa masalah. pandas.read_csv() menyediakan fleksibiliti yang serupa melalui pilihan delim_whitespace dan regex.

Contoh

Menggunakan fail input berikut (whitespace.csv):

a    b    c 1 2
d    e    f 3 4

Kod berikut akan mencipta bingkai data dengan pemisahan lajur yang betul, tanpa mengira jenis pemisah:

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

Atas ialah kandungan terperinci Bagaimanakah Panda Boleh Mengendalikan Ruang Putih Tidak Teratur dalam Pemisahan CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn