如何从python中的元组列表中为ReportLab表提取元素?

时间:2015-06-07 09:14:50

标签: python reportlab

我在创建包含元组列表中元素的reportlab表时遇到问题。

输入:

meta= [('#Instances (Test)', '250'), ('#Instances (Train)', '250')]

我直觉地想这样写:

for key, value in meta:
    data = [['Solver', '%s'%(solver_name)],
             ['%s'%(key), '%s'%(value)],
              ['%s'%(key), '%s'%(value)]]
meta_data = Table(data, colWidths=None, rowHeights=None, style=None, splitByRow=1,
                  repeatRows=0, repeatCols=0)

但它只考虑最后一个元组('#Instances (Train)', '250')出现在两行中。 关于我做错了什么的任何想法?

1 个答案:

答案 0 :(得分:0)

您只是从输入中获取最后一个key, value,因为您每次都在循环中更改整个data变量。你的意思是这个

data = []
for key, value in meta:
    data.append([['Solver', solver_name],[key, value]])
meta_data = Table(data, colWidths=None, rowHeights=None, style=None, \
  splitByRow=1,repeatRows=0, repeatCols=0)

在上面的代码中,我将data变量初始化为空列表,然后遍历meta中的每个元组,将tuple[0]分配为keytuple[1]作为{ {1}}。对这些变量唯一做的就是将它们附加到我们在开始时初始化的列表中。