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
DDDasal
2024-10-29 09:08:02321semak imbas

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>

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>

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:']
]

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!

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