我想用BS決議一個表格,并最終將其部分內容放入一個資料框架中。對于每行只有一行文本的表格來說,這個方法運行良好。
然而,在有些情況下,一些表格單元格包含多行文本。其中一個例子是這樣的。
所以...
也許:
import pandas as pd
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.3"/span>。
}
url = 'https://www.sec.gov/Archives/edgar/data/0001000230/000119312507035211/ddef14a.htm'
page = requests.get(url, headers=headers)
tables = pd.read_html(page.text.replace('<BR> ','
'))
df = pd.DataFrame(tables[50] )
# df.columns = pd.MultiIndex.from_arrays([df.iloc[1],df.iloc[2]])
# 上面一行或下面一行--選一個,把另一個注釋出來
df.columns = df.iloc[2]
df = df.iloc[3: ]
df = df.reset_index(drop=True)
df = df.dropna(axis=1)
df = df.loc[:,~(df=='$').any() ]
顯示(df)
輸出:
匯出:
from styleframe import StyleFrame
StyleFrame(df).to_excel('out.xlsx').save()
似乎那些方塊是一些x97字符在那里,你顯然可以在清理時洗掉它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/314875.html
標籤:
上一篇:用PHP將CSV檔案決議成列

