幕布斯6054654
2023-07-18 15:28:16
我遵循了一個(gè)教程,但我不喜歡結(jié)果,所以我試圖優(yōu)化它,但我似乎無(wú)法找到一種方法來(lái)始終制作新的數(shù)據(jù)框。我知道這是 while 循環(huán)的結(jié)果。所以我想要的是附加到我制作的數(shù)據(jù)框的價(jià)格。 提前致謝!import pandas as pdimport bs4import requestsfrom bs4 import BeautifulSoupimport datetime#getting actual pricedef Real_time_Price(stock): url = ('https://finance.yahoo.com/quote/'+stock+'?p='+stock) r=requests.get(url) web_content=BeautifulSoup(r.text, 'lxml') web_content = web_content.find('div',{'class':"My(6px) Pos(r) smartphone_Mt(6px)"}) web_content = web_content.find('span').text return web_content這就是我的問(wèn)題開(kāi)始的地方while True: price = [] col = [] time_stamp = datetime.datetime.now() #de milli seconden wegknallen. time_stamp = time_stamp.strftime("%Y-%m-%d %H:%M:%S") #welke stocks wilje checken ticker_symbols = ['TSLA','AAPL','MSFT'] for stock in ticker_symbols: price.append(Real_time_Price(stock)) #getting it into a pandas dataframe #You want [data] for pandas to understand they're rows. df=pd.DataFrame(data=[price], index=[time_stamp], columns=ticker_symbols) print(df)
1 回答

回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
建一次數(shù)據(jù)框并使用 DataFrame.loc([]) 追加
df=pd.DataFrame(index=[time_stamp], columns=ticker_symbols)
while True:
price = []
col = []
time_stamp = datetime.datetime.now()
#de milli seconden wegknallen.
time_stamp = time_stamp.strftime("%Y-%m-%d %H:%M:%S")
#welke stocks wilje checken
ticker_symbols = ['TSLA','AAPL','MSFT']
for stock in ticker_symbols:
price.append(Real_time_Price(stock))
df.loc[time_stamp]=price
添加回答
舉報(bào)
0/150
提交
取消