0

我正在从表中的查询中获取结果:

def getdata()
    self.cursor.execute("....")
    fetchall = self.cursor.fetchall()
    result ={}
    for row in fetchall:
       detail1 = row['mysite']
       details2 = row['url']
       result[detail1] = row
     return result

现在我需要处理生成的结果集:

def genXML()
    data = getdata()
    doc = Document() ""create XML tree structure"""

这样的数据将保存从查询中获取的所有行,并且我可以从中提取每个列的值?不知何故,我没有得到想要的结果。我的要求是通过数据库查询获取结果集并将结果存储到占位符中,以便以后可以在其他方法或位置轻松访问它?

==================================================== ===============================

我尝试了以下技术,但仍然在方法'getXML()'中我无法获取每个字典行,以便我可以遍历和操作:

        fetchall = self.cursor.fetchall()
        results= []
        result={}
        for row in fetchall:
                result['mysite'] = row['mysite']
                result['mystart'] = row['mystart']
                ..................................
                results.append(result)
        return results

def getXML(self):
        doc = Document()
        charts = doc.createElement("charts")
        doc.appendChild(charts)
        chartData = self.grabChartData()
        for site in chartData:
                print site[??]

那么如何获取每个 chartData 行值,然后我可以为每个循环?

注意:我发现只有最后一行获取的值会像在 chartData 中一样打印出来。假设我知道查询返回了 2 行。因此,如果我在 getXML() 方法中打印列表,如下所示,两行都是相同的:

chartData[0]
chartData[1]

如何将每个结果唯一地添加到列表中?

4

1 回答 1

0

在这里,您正在一遍又一遍地修改和添加相同的 dict到结果中:

    result={}
    for row in fetchall:
            result['mysite'] = row['mysite']
            result['mystart'] = row['mystart']
            ..................................
            results.append(result)

在循环内创建字典来解决这个问题:

    for row in fetchall:
        result={}
于 2012-05-07T12:32:10.320 回答