Jadual Kandungan
Gunakan pandas.read_html() untuk mengekstrak jadual
Mengendalikan tajuk yang hilang atau pemformatan yang tidak kemas
Berurusan dengan halaman kompleks menggunakan permintaan atau penapisan
Berhati -hati untuk Gotchas Biasa
Rumah pembangunan bahagian belakang Tutorial Python Cara Menghuraikan Jadual HTML dengan Python dan Pandas

Cara Menghuraikan Jadual HTML dengan Python dan Pandas

Jul 10, 2025 pm 01:39 PM
python

Ya, anda boleh menghuraikan jadual HTML menggunakan python dan panda. Pertama, gunakan fungsi pandas.read_html () untuk mengekstrak jadual, yang boleh menghuraikan elemen HTML dalam laman web atau rentetan ke dalam senarai dataFrame; Kemudian, jika jadual tidak mempunyai tajuk lajur yang jelas, ia boleh ditetapkan dengan menentukan parameter header atau menetapkan secara manual atribut. Untuk halaman yang kompleks, anda boleh menggabungkan Perpustakaan Permintaan untuk mendapatkan kandungan HTML atau menggunakan BeautifulSoup untuk mencari jadual tertentu; Perhatikan perangkap biasa seperti rendering JavaScript, masalah pengekodan, dan pengiktirafan pelbagai meja.

Cara Mengurangkan Jadual HTML dengan Python dan Pandas

Ya, anda boleh menghuraikan meja HTML dengan Python dan Pandas - dan ia sebenarnya cukup mudah. Jika anda pernah melihat laman web dengan data jadual dan berharap anda boleh mendapatkannya ke dalam data data dengan cepat, Pandas mempunyai fungsi terbina dalam untuk itu.

Cara Mengurangkan Jadual HTML dengan Python dan Pandas

Gunakan pandas.read_html() untuk mengekstrak jadual

PANDAS menyediakan read_html() yang mengimbas laman web atau rentetan untuk elemen HTML <table> dan cuba menghuraikannya ke dalam data data.<p> Anda hanya perlu memberikan URL atau kandungan HTML mentah: </p> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/175212598696473.jpeg" class="lazy" alt="Cara Mengurangkan Jadual HTML dengan Python dan Pandas"><pre class='brush:php;toolbar:false;'> Import Pandas sebagai PD url = &amp;#39;https://example.com/table-page&amp;#39; jadual = pd.read_html (url)</pre><p> Ini mengembalikan senarai DataFrames - satu untuk setiap jadual pada halaman. Anda kemudian boleh memilih yang anda mahukan dengan indeks, seperti <code>tables[0] .

Kadang -kadang halaman mempunyai banyak jadual dan tidak semuanya berguna. Anda mungkin perlu memeriksa output untuk mencari indeks mana yang mengandungi data yang anda inginkan.

Cara Mengurangkan Jadual HTML dengan Python dan Pandas

Mengendalikan tajuk yang hilang atau pemformatan yang tidak kemas

Tidak setiap jadual HTML termasuk tajuk lajur yang jelas. Jika jadual tidak mempunyai tag <th> atau jika mereka tidak lengkap, read_html() akan memberikan nama lajur lalai seperti 0, 1, 2 ...

Untuk memperbaiki ini:

  • Lihat halaman dan lihat jika tajuk adalah sebahagian daripada baris pertama ( <tr> ) dan bukannya dalam <thead> .
  • Anda boleh menetapkan nama lajur secara manual menggunakan .columns = [...] selepas membaca jadual.
  • Kadang-kadang menambah header=0 atau header=[0,1] (untuk tajuk berbilang indeks) membantu.

Contoh:

 df = pd.read_html (url, header = 0) [0]

Juga sedar bahawa beberapa jadual mungkin termasuk sel -sel yang digabungkan atau jadual bersarang, yang boleh mengelirukan parser. Dalam kes tersebut, data data yang dihasilkan mungkin kelihatan tidak jelas.

Berurusan dengan halaman kompleks menggunakan permintaan atau penapisan

Jika halaman memerlukan pengesahan atau rendering JavaScript, read_html() sahaja tidak akan membantu. Tetapi untuk halaman statik, menggabungkannya dengan requests memberi lebih banyak kawalan.

Berikut adalah cara anda boleh mengambil HTML terlebih dahulu:

 permintaan import
Import Pandas sebagai PD

respons = requests.get (url)
jadual = pd.read_html (response.text)

Sekiranya terdapat banyak jadual dan anda ingin menapis dengan atribut seperti nama kelas atau ID, anda perlu menggunakan parser seperti BeautifulSoup terlebih dahulu untuk mengasingkan jadual tertentu, kemudian lulus coretan HTML ke read_html() .

Contohnya:

 dari bs4 import cantikSoup

sup = indahSoup (response.text, &#39;html.parser&#39;)
target_table = soup.find (&#39;jadual&#39;, {&#39;class&#39;: &#39;data&#39;})
df = pd.read_html (str (target_table)) [0]

Ini amat berguna apabila halaman mempunyai kekacauan atau beberapa jadual yang serupa.

Berhati -hati untuk Gotchas Biasa

  • JAVASCRIPT REDERED TABLES : read_html() hanya berfungsi pada HTML statik. Jika jadual dimuatkan secara dinamik (seperti dengan Ajax), anda memerlukan alat seperti selenium atau penulis drama untuk menjadikan halaman terlebih dahulu.
  • Isu Pengekodan : Jika aksara kelihatan pelik, cuba tetapkan pengekodan yang betul dengan response.encoding = &#39;utf-8&#39; atau serupa.
  • Terlalu banyak jadual? Gelung melalui senarai dan bentuk cetak atau beberapa baris pertama untuk mengenal pasti yang betul.

Seperti:

 Untuk i, df dalam menghitung (jadual):
    cetak (f "jadual {i} bentuk: {df.shape}")
    cetak (df.head ())

Dengan cara itu, anda boleh mengimbas secara visual apa yang kelihatan seperti meja yang dihuraikan sebelum membuat keputusan yang mana ia berfungsi.

Pada dasarnya itu sahaja. Parsing Jadual HTML dengan PANDAS adalah pantas dan berkesan untuk kes -kes penggunaan yang paling asas - hanya mengawasi kes -kes kelebihan seperti kandungan dinamik atau tajuk yang hilang.

Atas ialah kandungan terperinci Cara Menghuraikan Jadual HTML dengan Python dan Pandas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Rimworld Odyssey Cara Ikan
1 bulan yang lalu By Jack chen
Apakah had transaksi untuk pengguna asing di Alipay?
1 bulan yang lalu By 下次还敢
Bolehkah saya mempunyai dua akaun Alipay?
1 bulan yang lalu By 下次还敢

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1506
276
Python Sambung ke SQL Server PyoDBC Contoh Python Sambung ke SQL Server PyoDBC Contoh Jul 30, 2025 am 02:53 AM

Pasang PYODBC: Gunakan perintah PipinstallPyoDBC untuk memasang perpustakaan; 2. Sambungkan SQLServer: Gunakan rentetan sambungan yang mengandungi pemacu, pelayan, pangkalan data, uid/pwd atau aman 3. Semak pemacu yang dipasang: Jalankan pyodbc.drivers () dan tapis nama pemacu yang mengandungi 'SQLServer' untuk memastikan nama pemacu yang betul digunakan seperti 'ODBCDriver17 untuk SQLServer'; 4. Parameter utama rentetan sambungan

Contoh Python Shutil Rmtree Contoh Python Shutil Rmtree Aug 01, 2025 am 05:47 AM

shutil.rmtree () adalah fungsi dalam python yang secara rekursif memadam seluruh pokok direktori. Ia boleh memadam folder yang ditentukan dan semua kandungan. 1. Penggunaan Asas: Gunakan shutil.rmtree (Path) untuk memadam direktori, dan anda perlu mengendalikan fileNotFoundError, PermissionError dan pengecualian lain. 2. Aplikasi Praktikal: Anda boleh membersihkan folder yang mengandungi subdirektori dan fail dalam satu klik, seperti data sementara atau direktori cache. 3. Nota: Operasi penghapusan tidak dipulihkan; FileNotFoundError dilemparkan apabila jalan tidak wujud; Ia mungkin gagal kerana kebenaran atau pekerjaan fail. 4.

Apakah arbitraj statistik dalam kriptografi? Bagaimana arbitraj statistik berfungsi? Apakah arbitraj statistik dalam kriptografi? Bagaimana arbitraj statistik berfungsi? Jul 30, 2025 pm 09:12 PM

Pengenalan kepada arbitraj statistik statistik adalah kaedah perdagangan yang menangkap ketidakcocokan harga dalam pasaran kewangan berdasarkan model matematik. Falsafah terasnya berasal dari regresi min, iaitu, harga aset boleh menyimpang dari trend jangka panjang dalam jangka pendek, tetapi akhirnya akan kembali ke purata sejarah mereka. Peniaga menggunakan kaedah statistik untuk menganalisis korelasi antara aset dan mencari portfolio yang biasanya berubah serentak. Apabila hubungan harga aset -aset ini tidak dapat disimpulkan, peluang arbitraj timbul. Dalam pasaran cryptocurrency, arbitraj statistik terutamanya lazim, terutamanya disebabkan oleh ketidakcekapan dan turun naik drastik pasaran itu sendiri. Tidak seperti pasaran kewangan tradisional, kriptografi beroperasi sepanjang masa dan harga mereka sangat terdedah kepada berita, sentimen media sosial dan peningkatan teknologi. Turun naik harga yang berterusan ini kerap mencipta kecenderungan harga dan memberikan arbitrageurs dengan

Bagaimana untuk melaksanakan pertanyaan SQL di Python? Bagaimana untuk melaksanakan pertanyaan SQL di Python? Aug 02, 2025 am 01:56 AM

Pasang pemacu pangkalan data yang sepadan; 2. Gunakan Connect () untuk menyambung ke pangkalan data; 3. Buat objek kursor; 4. Gunakan melaksanakan () atau executemany () untuk melaksanakan SQL dan menggunakan pertanyaan parameter untuk mengelakkan suntikan; 5. Gunakan Fetchall (), dan sebagainya untuk mendapatkan hasil; 6. komit () diperlukan selepas pengubahsuaian; 7. Akhirnya, tutup sambungan atau gunakan pengurus konteks untuk mengendalikannya secara automatik; Proses lengkap memastikan operasi SQL selamat dan cekap.

Cara mewujudkan persekitaran maya di python Cara mewujudkan persekitaran maya di python Aug 05, 2025 pm 01:05 PM

Untuk mewujudkan persekitaran maya Python, anda boleh menggunakan modul VENV. Langkah-langkahnya adalah: 1. Masukkan direktori projek untuk melaksanakan persekitaran python-mvenvenv untuk mewujudkan persekitaran; 2. Gunakan Sourceenv/Bin/Aktifkan ke Mac/Linux dan Env \ Scripts \ Aktifkan ke Windows; 3. Gunakan Pakej Pemasangan Pipinstall, PipFreeze> Keperluan.txt untuk mengeksport kebergantungan; 4. Berhati -hati untuk mengelakkan menyerahkan persekitaran maya ke Git, dan mengesahkan bahawa ia berada dalam persekitaran yang betul semasa pemasangan. Persekitaran maya boleh mengasingkan kebergantungan projek untuk mencegah konflik, terutamanya sesuai untuk pembangunan pelbagai projek, dan editor seperti pycharm atau vscode juga

Python baca baris fail mengikut talian contoh Python baca baris fail mengikut talian contoh Jul 30, 2025 am 03:34 AM

Cara yang disyorkan untuk membaca fail garis mengikut baris di Python adalah menggunakan WithOpen () dan untuk gelung. 1. Gunakan WithOpen ('Example.txt', 'R', encoding = 'UTF-8') Asfile: Untuk memastikan penutupan fail yang selamat; 2. Gunakan ForlineInfile: untuk merealisasikan bacaan line-by-line, mesra memori; 3. Gunakan line.strip () untuk menghapuskan aksara line-by-line dan aksara ruang putih; 4. Tentukan pengekodan = 'UTF-8' untuk mengelakkan kesilapan pengekodan; Teknik lain termasuk melangkau garis kosong, membaca garis N sebelum, mendapatkan nombor garis dan garis pemprosesan mengikut keadaan, dan sentiasa mengelakkan pembukaan manual tanpa penutupan. Kaedah ini lengkap dan cekap, sesuai untuk pemprosesan fail yang besar

Cara menjalankan skrip python dengan argumen di vscode Cara menjalankan skrip python dengan argumen di vscode Jul 30, 2025 am 04:11 AM

TorunaPythonscriptwithargumentsinVSCode,configurelaunch.jsonbyopeningtheRunandDebugpanel,creatingoreditingthelaunch.jsonfile,andaddingthedesiredargumentsinthe"args"arraywithintheconfiguration.2.InyourPythonscript,useargparseorsys.argvtoacce

Bagaimana untuk berkongsi data antara pelbagai proses dalam Python? Bagaimana untuk berkongsi data antara pelbagai proses dalam Python? Aug 02, 2025 pm 01:15 PM

Gunakan multiprocessing.queue untuk selamat lulus data antara pelbagai proses, sesuai untuk senario pelbagai pengeluar dan pengguna; 2. Gunakan multiprocessing.pipe untuk mencapai komunikasi berkelajuan tinggi dua arah antara dua proses, tetapi hanya untuk sambungan dua mata; 3. Gunakan nilai dan array untuk menyimpan jenis data mudah dalam memori bersama, dan perlu digunakan dengan kunci untuk mengelakkan keadaan persaingan; 4. Pengurus Gunakan untuk berkongsi struktur data yang kompleks seperti senarai dan kamus, yang sangat fleksibel tetapi mempunyai prestasi yang rendah, dan sesuai untuk senario dengan keadaan kongsi yang kompleks; Kaedah yang sesuai harus dipilih berdasarkan saiz data, keperluan prestasi dan kerumitan. Baris dan pengurus paling sesuai untuk pemula.

See all articles