我试图使用不同的列表将不同的数据集从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)首先遍历每年,然后使用相应年份的列表。
所以,首先它应该做2006年并循环通过2006年的名单(A,B,C,D,E),运行该计划的其余部分,然后继续到2007年和2008年。
我之前使用过循环但不确定如何在不同列表之间循环。
答案 0 :(得分:3)
如果我理解正确,您可能希望分层次地表达您的数据:
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
这会回答你的问题吗?
答案 1 :(得分:1)
cr3解决方案的另一个优点是,您可以轻松解决每年的项目,例如:
print years[2006]
for y in years[2006]:
print y