首页 > 解决方案 > 使用名称而不是第 n 个元素检索列表的元素

问题描述

我不确定如何在“同一屋檐下”收集不同的数据框。我认为创建一个列表可能是一个好主意,其中每个元素都是一个数据框(如果有更方便的方法,请赐教)。举一个我如何创建这个列表的例子:

import requests
import pandas as pd
tic_in = ['AAPL', 'AMZN']          # list for feeding url 

list_test = []
for ticker in tic_in:
   url = 'https://www.stocksplithistory.com/?symbol=' + str(ticker) 
   html = requests.get(url).content
   df_list = pd.read_html(html)
   df = df_list[7]                       # 7th table is what I want                    
   list_test.append(df)                  # append new dataframe to list

现在我的问题是:如果我想访问这些数据帧中的任何一个,我必须使用第 n 个元素。说:如果我想检索“AAPL”的数据框,我必须:

list_test[0].head()

是否有可能以某种方式为列表的位置命名?所以我可以避免使用第 n 个元素,而是使用更直接的方式:

list_test['AAPL']

(我是这个论坛的新手,非常感谢)

标签: python

解决方案


使用字典

import requests
import pandas as pd
tic_in = ['AAPL', 'AMZN']          # list for feeding url 

dict_test = {}
for ticker in tic_in:
   url = 'https://www.stocksplithistory.com/?symbol=' + str(ticker) 
   html = requests.get(url).content
   df_list = pd.read_html(html)
   df = df_list[7]                       # 7th table is what I want                    
   dict_test[ticker] = df


推荐阅读