Rumah >pembangunan bahagian belakang >Tutorial Python >Pandas `CParserError`: Bagaimana untuk Menyelesaikan 'medan X yang dijangkakan, melihat Y'?

Pandas `CParserError`: Bagaimana untuk Menyelesaikan 'medan X yang dijangkakan, melihat Y'?

Barbara Streisand
Barbara Streisandasal
2024-12-15 04:48:57996semak imbas

Pandas `CParserError`: How to Solve

pandas.parser.CParserError: Ralat Token Data Enigma

Apabila cuba membaca fail .csv menggunakan pustaka panda, pengguna menghadapi ralat yang membingungkan: pandas.parser.CParserError: Ralat semasa token data. Ralat C: Dijangkakan 2 medan dalam baris 3, melihat 12. Walaupun merujuk kepada dokumentasi panda, tiada penyelesaian yang jelas ditemui.

Coretan kod yang mudah menipu:

path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)

terjadi mangsa ini ralat yang sukar difahami. Persoalannya timbul: bagaimana untuk menakluki halangan ini? Patutkah modul alternatif atau bahkan bahasa pengaturcaraan dipertimbangkan?

Pancaran Harapan

Jangan takut, rakan-rakan pembangun! Penyelesaiannya terletak dalam alam panda itu sendiri. Dengan menambahkan hujah berikut pada fungsi pd.read_csv(), ralat boleh diatasi dengan anggun:

data = pd.read_csv('file1.csv', on_bad_lines='skip')

Pengubahsuaian ini mengarahkan panda untuk mengabaikan sebarang baris yang menyebabkan isu penghuraian, dengan berkesan mengetepikan masalah. Selain itu, jika anda mencari lebih kawalan ke atas pengendalian talian yang rosak, anda boleh menentukan fungsi panggil balik tersuai untuk memberikan respons yang disesuaikan.

Untuk versi Panda sebelum 1.3.0, sintaks berikut digunakan:

data = pd.read_csv("file1.csv", error_bad_lines=False)

Dengan pelarasan ini, ralat misteri hilang, menjadikan anda bebas untuk memanfaatkan kuasa panda untuk data anda keperluan manipulasi.

Atas ialah kandungan terperinci Pandas `CParserError`: Bagaimana untuk Menyelesaikan 'medan X yang dijangkakan, melihat Y'?. 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