我想要达到的目标
我下面的代码会抓取一个网站并将数据框导出到 excel 文件。但是,我需要从第一列中删除不必要的字符并将它们组合起来,这样我就不需要在 excel 文件中重命名月份。每一行都有一个来自网站的名称,HOZ18(2018 年 12 月)'HOZ19(2019 年 12 月),除了“\”之外我不感兴趣。所以,我只想在第一列中显示 12 月 18 日、1 月 19 日、2 月 20 日等。
代码
from urllib.request import urlopen
import pandas as pd
import requests
from bs4 import BeautifulSoup
url = "https://shared.websol.barchart.com/quotes/quote.php?page=quote&sym=ho&x=13&y=8&domain=if&display_ice=1&enabled_ice_exchanges=&tz=0&ed=0"
res = requests.get(url)
soup = BeautifulSoup(res.text, 'lxml')
Contracts=[]
LastPrice=[]
data_rows = soup.findAll('tr')[2:]
for td in data_rows:
Contract = td.findAll('td')[0].text
Contracts.append(Contract)
LstPrice = td.findAll('td')[7].text
LastPrice.append(LstPrice)
df = pd.DataFrame({'Contracts': Contracts, 'Previous Settled': LastPrice})
输出(仅部分)
0 Cash (HOY00) 2.1884
1 Dec \'18 (HOZ18) 2.2371
2 Jan \'19 (HOF19) 2.2238
3 Feb \'19 (HOG19) 2.2125