如何遍历 ReportLab 的 rml 文件中的列表

Posted

技术标签:

【中文标题】如何遍历 ReportLab 的 rml 文件中的列表【英文标题】:How to iterate over a list in rml file of ReportLab 【发布时间】:2013-07-26 14:34:47 【问题描述】:

我在 python 中创建了字典,例如

dictionary_list = ['1':1,'2': 2,'3': 3,'1': 1,'2':2,'3':3,'4':4,'1':1,'2':2]

现在我想使用 python 语法迭代这个字典。我试过这个:

% for (key_o, val_o) in dictionary_list.items %

但它不起作用。然后我尝试了这个,因为以前的语法没有帮助。

% for dictionary in dictionary_list %
     % for (key_o, val_o) in dictionary.items %
         val_o 
     % endfor %
% endfor %

但它仍然没有打印val_o's 值。我很沮丧,因为我无法在Report lab 的报告标记语言(RML 文件)中迭代字典列表。请指导我,谢谢。

【问题讨论】:

【参考方案1】:

这是一个集合列表,而不是字典:

>>> [ type(x) for x in [1,2,3,1,2,3,4,1,2]]
[<type 'set'>, <type 'set'>, <type 'set'>]

试试这样的:

set_list = [1,2,3,1,2,3,4,1,2]
% for item in set_list %
     % for x in item %
         x 
     % endfor %
% endfor %

更新:

由于 django 标签中不允许使用括号,所以你不应该使用它们。这应该可以正常工作:

% for key_o, val_o in dictionary.items %

如果您只想要字典中的值而不是键,那么只需使用 dict.values:

% for val_o in dictionary.values %

【讨论】:

抱歉问题描述有误,但您对我之前的描述是正确的,所以请您更新我的更新问题的答案,谢谢 @BrahamShakti 更新了我的答案。

以上是关于如何遍历 ReportLab 的 rml 文件中的列表的主要内容,如果未能解决你的问题,请参考以下文章

Reportlab:如何为 pdf 文件添加页脚

Reportlab:条形码未绘制在 PDF 文件的顶部

Python:如何替换pdf中的文本

如何在reportlab中手动将新页面添加到PDF文档?

LK怎样的语句会被RML归纳为同一类型

ReportLab:如何对齐文本对象?