python中不同列表之间的循环
我试图使用不同的列表将不同的数据集从SQL拉入python。例如,我有以下数据:python中不同列表之间的循环,python,sql,pandas,Python,Sql,Pandas,我试图使用不同的列表将不同的数据集从SQL拉入python。例如,我有以下数据: years = [2006, 2007, 2008] 2006 = [A, B, C, D, E] 2007 = [D, E, F, G, H, I, J, K] 2008 = [E, F, G] 然后,为了提取数据,我使用以下公式: df = pd.read_sql('SELECT %s from Table' % (str(x)), con=conn) 我希望字符串str(x)首先循环遍历每年,然后使用相应
years = [2006, 2007, 2008]
2006 = [A, B, C, D, E]
2007 = [D, E, F, G, H, I, J, K]
2008 = [E, F, G]
然后,为了提取数据,我使用以下公式:
df = pd.read_sql('SELECT %s from Table' % (str(x)), con=conn)
我希望字符串str(x)首先循环遍历每年,然后使用相应年份的列表
所以,首先它应该做2006年,循环2006年的列表(A,B,C,D,E),运行程序的其余部分,然后转到2007年和2008年
我以前使用过循环,但不确定如何在不同的列表之间循环。如果我理解正确,您可能希望按层次表示数据:
years = {
2006: ['A', 'B', 'C', 'D', 'E'],
2007: ['D', 'E', 'F', 'G', 'H', 'I', 'J', 'K'],
2008: ['E', 'F', 'G'],
}
然后你可以在这些年中循环,然后在每年的字母上循环,如下所示:
for year, letters in years.items():
# do something per year
for letter in letters:
# do something per letter for the year
这是否回答了您的问题?cr3解决方案的另一个优点是,您可以轻松解决每年的项目,如:
print years[2006]
for y in years[2006]:
print y