Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Panda Boleh Mengendalikan Ruang Putih Tidak Teratur dalam Pemisahan CSV?
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!