我正在从雅虎财经搜集数据所有的数据搜集工作都很顺利。但是,当我想要将附加的列表存储到可索引的 Dataframe 中时,它会返回一个空的 Dataframe 。但是,当我将数据存储在不可索引的 Dataframe 中时,它会存储数据。
当我打印Temp时,我可以看到数据,即使我将Temp转换为DataFrame,它也会成功转换。但是,当我运行financial_dir[ticker]=temp.append(soup.find('div', {'class' : "D(tbrg)"}).find_all('div')[i].get_text(separator='|').split('|'))
时,它不会创建可索引的 Dataframe ,而是运行空的 Dataframe 。
我想为不同的股票创建可调用的financial_dir like this,例如,当我运行Financial_dir[‘INDUSINDBK.NS’]时,它应该给出INDUSINDBK.NS的 Dataframe ,如图所示。如有任何帮助,我们将不胜感激
“”“
import requests
from bs4 import BeautifulSoup
import pandas as pd
tickers = ['KOTAKBANK.NS','WIPRO.NS','HINDALCO.NS','RELIANCE.NS',
'INDUSINDBK.NS','HDFCLIFE.NS','TATACONSUM.NS','TITAN.NS',
'ULTRACEMCO.NS']
financial_dir = pd.DataFrame()
temp = []
for ticker in tickers:
url = 'https://finance.yahoo.com/quote/'+ticker+'/financials?p='+ticker
page = requests.get(url, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'})
# page_content = page.content
soup = BeautifulSoup(page.text, 'html.parser')
a = list(range(0,2000,1))
# while IndexError(True):
try:
for i in a:
financial_dir[ticker]=temp.append(soup.find('div', {'class' : "D(tbrg)"}).find_all('div')[i].get_text(separator='|').split('|'))
except:
pass
temp
data5 = pd.DataFrame(temp)
financial_dir
“”“
1条答案
按热度按时间bkhjykvo1#
试试这个:
1.创建函数,为每个自动收报机返回一个 Dataframe :
1.然后您可以将每个工单保存在单独的CSV文件中,并分别使用每个工单:
1.或者您可以将它们放在一个 Dataframe 中:
1.您还可以旋转您获得的 Dataframe :