Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Menghuraikan Data dengan Pemisah Tidak Teratur dalam Pandas read_csv?
Mengatasi Pemisah Tidak Teratur dalam Pandas read_csv
Apabila membaca data daripada fail dengan pemisah tidak teratur, kaedah read_csv panda boleh menghadapi kesukaran. Tidak seperti kaedah split() Python, yang mengendalikan pelbagai ruang putih dengan lancar, read_csv mungkin bergelut untuk mentafsir data yang dipisahkan oleh ruang dan tab yang tidak konsisten.
Untuk menangani cabaran ini, panda menawarkan pilihan serba boleh untuk menentukan pemisah. Satu pendekatan melibatkan penggunaan ungkapan biasa (regex). Dengan menggunakan parameter pembatas dalam read_csv, anda boleh menentukan corak regex yang menangkap pemisah yang dikehendaki. Ini membolehkan anda mengambil kira gabungan ruang dan tab, memastikan penghuraian yang tepat.
Sebagai alternatif, anda boleh memanfaatkan parameter delim_whitespace, yang beroperasi sama dengan kaedah Python split(). Dengan menetapkan delim_whitespace kepada True, panda akan menganggap mana-mana ruang putih (termasuk ruang dan tab) sebagai pemisah. Ini menghapuskan keperluan untuk menentukan corak regex tertentu.
Pertimbangkan contoh berikut:
import pandas as pd data = pd.read_csv("irregular_separators.csv", header=None, delimiter=r"\s+") print(data) # Output: # 0 1 2 3 4 # 0 a b c 1 2 # 1 d e f 3 4
Dalam kes ini, irregular_separators.csv mengandungi lajur yang dipisahkan oleh tab, ruang dan juga gabungan kedua-duanya. Dengan menentukan corak regex, read_csv berjaya menghuraikan data dan mencipta DataFrame.
Sebagai alternatif, menggunakan delim_whitespace:
data = pd.read_csv("irregular_separators.csv", header=None, delim_whitespace=True) print(data) # Output (same as above): # 0 1 2 3 4 # 0 a b c 1 2 # 1 d e f 3 4
Dengan memanfaatkan fleksibiliti pemisah dalam read_csv, anda boleh mengendalikan irregular dengan berkesan ruang kosong dalam fail data dan ekstrak maklumat yang bermakna untuk analisis.
Atas ialah kandungan terperinci Bagaimanakah Saya Menghuraikan Data dengan Pemisah Tidak Teratur dalam Pandas read_csv?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!