大家好,我有一個網站,我需要將資料保存到 Excel 頁面中。但是資料不是我通常會使用 pandas 處理的表格格式。下面是我舉的網站的一部分。連同我用來提取我需要/想要的確切資訊的代碼。
from bs4 import BeautifulSoup
html_doc = """
<div >
<p>
<span >Order Number</span><br>
A-21-897274
</p>
</div>
<div >
<p>
<span >Location</span><br>
Ohio
</p>
</div>
<div >
<p>
<span >Date</span><br>
07/01/2022
</p>
</div>
</div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
def correct_tag(tag):
return tag.name == "span" and tag.get_text(strip=True) in {
"Order Number",
"Location",
"Date",
}
for t in soup.find_all(correct_tag):
print(f"{t.text}: {t.find_next_sibling(text=True).strip()}")
這完美地作業并提取我想要的資料,如下所示:
Order Number: A-21-897274
Location: Ohio
Date: 07/01/2022
我只需要幫助將這些資料放入資料框中以保存為 excel。任何幫助,將不勝感激!
uj5u.com熱心網友回復:
將資料存盤為dict. 如果您有很多訂單,請將它們附加到list. 最后,將串列轉換為dataframe.
import pandas as pd
order_list = []
order_info = {}
for t in soup.find_all(correct_tag):
order_info[t.text] = t.find_next_sibling(text=True).strip()
# assume you have many orders (append to list first)
order_list.append(order_info)
order_df = pd.DataFrame(order_list)
order_df.head()
輸出:
Order Number Location Date 0 A-21-897274 Ohio 07/01/2022
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/442698.html
