Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengekstrak Sel Tertentu daripada Jadual Menggunakan BeautifulSoup Python?

Bagaimana untuk Mengekstrak Sel Tertentu daripada Jadual Menggunakan BeautifulSoup Python?

DDD
Lepaskan: 2024-10-29 09:08:02
asal
272 orang telah melayarinya

How to Extract Specific Cells from a Table Using Python's BeautifulSoup?

Python BeautifulSoup Parsing Table

Soalan:

Saya menggunakan BeautifulSoup Python untuk menghuraikan jadual yang mengandungi maklumat tiket letak kereta, tetapi saya bergelut untuk mengakses sel tertentu dalam jadual. Bolehkah sesiapa membantu saya mengekstrak semua baris dan sel yang sepadan?

Kod Berkaitan:

<code class="python">soup = BeautifulSoup(plateRequest.text)
table = soup.find("table", {"class": "lineItemsTable"})
for row in table.findAll("tr"):
    cells = row.findAll("td")
    print(cells)</code>
Salin selepas log masuk

Penyelesaian:

Untuk mengakses baris dan sel dengan cekap, gunakan kod yang diubah suai berikut:

<code class="python">data = []
table = soup.find('table', attrs={'class':'lineItemsTable'})
table_body = table.find('tbody')

rows = table_body.find_all('tr')
for row in rows:
    cols = row.find_all('td')
    cols = [ele.text.strip() for ele in cols]
    data.append([ele for ele in cols if ele]) # Remove empty values</code>
Salin selepas log masuk

Output:

Menjalankan kod yang disemak akan menyediakan senarai senarai, di mana setiap senarai dalam mewakili baris dalam jadual dan setiap elemen dalam senarai dalam ialah kandungan teks sel:

[
    ['1359711259', 'SRF', '08/05/2013', '5310 4 AVE', 'K', '19', '125.00', '$'], 
    ['7086775850', 'PAS', '12/14/2013', '3908 6th Ave', 'K', '40', '125.00', '$'], 
    ['7355010165', 'OMT', '12/14/2013', '3908 6th Ave', 'K', '40', '145.00', '$'], 
    ['4002488755', 'OMT', '02/12/2014', 'NB 1ST AVE @ E 23RD ST', '5', '115.00', '$'], 
    ['7913806837', 'OMT', '03/03/2014', '5015 4th Ave', 'K', '46', '115.00', '$'], 
    ['5080015366', 'OMT', '03/10/2014', 'EB 65TH ST @ 16TH AV E', '7', '50.00', '$'], 
    ['7208770670', 'OMT', '04/08/2014', '333 15th St', 'K', '70', '65.00', '$'], 
    ['.00\n\n\nPayment Amount:']
]
Salin selepas log masuk

Nota:

  • Baris terakhir dalam output ialah amaun pembayaran, yang bukan sebahagian daripada jadual.
  • Lajur terakhir dalam setiap baris mewakili kotak teks input dan mungkin memerlukan pengendalian khas.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Sel Tertentu daripada Jadual Menggunakan BeautifulSoup Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan