Python 从股票价格的WebCaping结果创建数据框架
我正试图编写一个脚本,创建一个熊猫数据框(df),每次向df添加一个股票价格。数据来自WreBStraping 这是我的代码,但我不知道如何在每次向df添加x(例如1分钟)新数据时不替换旧数据Python 从股票价格的WebCaping结果创建数据框架,python,pandas,dataframe,web-scraping,data-analysis,Python,Pandas,Dataframe,Web Scraping,Data Analysis,我正试图编写一个脚本,创建一个熊猫数据框(df),每次向df添加一个股票价格。数据来自WreBStraping 这是我的代码,但我不知道如何在每次向df添加x(例如1分钟)新数据时不替换旧数据 import bs4 as bs import urllib.request import time as t import re import pandas as pd i = 1 while i == 1: # !!
import bs4 as bs
import urllib.request
import time as t
import re
import pandas as pd
i = 1
while i == 1:
# !! Scraping
link = 'https://www.onvista.de/aktien/DELIVERY-HERO-SE-Aktie-DE000A2E4K43'
parser = urllib.request.urlopen(link).read()
soup = bs.BeautifulSoup(parser, 'lxml')
stock_data = soup.find('ul', {'class': 'KURSDATEN'})
stock_price_eur_temp = stock_data.find('li')
stock_price_eur = stock_price_eur_temp.get_text()
final_stock_price = re.sub('[EUR]','', stock_price_eur)
print (final_stock_price)
t.sleep(60)
# !! Building an dataframe
localtime = t.asctime(t.localtime(t.time()))
stock_data_b = {
'Price': [final_stock_price],
'Time': [localtime],
}
df = pd.DataFrame(stock_data_b, columns=['Price', 'Time'])
我希望您能帮助我解决这个问题。因为您在循环中创建了
df
,所以每次都要写入变量名,写入上一次迭代的数据。您希望在循环之前初始化一个数据帧,然后每次都添加到它
在循环之前,添加行
df2 = pd.DataFrame()
这只会创建一个空数据帧。在您发布的代码结束后,添加
df2 = df2.append(df, ignore_index = True)
这将把每个新的df
钉在df2
的末尾