我正在使用pandas作为pd和python 2.7
我有一堆查询,每个查询都返回序列号。然后我在一堆更多的查询中使用该序列号。我想将所有结果附加到列表中。当我追加到一个空列表时,它只返回任何内容。我不知道我做错了什么。
for query in list_of_queries:
results = pd.read_sql_query(query,connection,index_col=None)
for serial_number in results['SerialNumbers']:
a = []
new_query = """ SELECT * FROM blah b where b.SerialNumber = '{}' """
new_query = new_query.format(serial_number)
results = pd.read_sql_query(new_query,connection,index_col = None)
a.append(results)
答案 0 :(得分:1)
您正在每个for
循环的开头将列表重置为空。这应该是:
a = []
for serial_number in results['SerialNumbers']:
new_query = """ SELECT * FROM blah b where b.SerialNumber = '{}' """
new_query = new_query.format(serial_number)
results = pd.read_sql_query(new_query,connection,index_col = None)
a.append(results)
# 'a' will now have all the results
此外,看起来你可能会破坏results
,因为你将它用作变量名两次(每次循环一次)。我建议改变它!