为什么python中表的列和宽度会产生错误

时间:2016-02-23 00:01:57

标签: python reportlab

我正在创建一个简单的四列,一行表。但是,当代码执行时,我收到以下错误

  

表4行X 1 cols>与包含' D'的单元格(0,0)数据错误 - 数据中有1列但列宽为4列#34;。

代码如下:

colwidths = (46, 76, 48, 40)  
rowheights = (20)  
tabledata = ('DATE ', '3-20-2016', 'FIELD # ', '1')  
t = Table((tabledata), (colwidths), (rowheights))  

2 个答案:

答案 0 :(得分:1)

这周我遇到了类似的问题,所以我会把我的解决方案放在这里给其他人。

似乎有两个主要原因:

  1. 您的查询集可能不会产生任何可迭代的值 - 请检查。

  1. 如果您在一个页面中有多个表格,则其中一个表格的格式不正确e.g. you have a <tr> ...<tr> instead of <tr> ...</tr>. note the closing /

我对这个问题的处理方法是将整个页面拆分成部分(每个表作为一个部分)并在浏览器中一一加载。

您很可能会识别出导致错误的表格。

答案 1 :(得分:0)

您只需要将tabledata包装在另一个可迭代中以确保其被解释为单个行上的所有5个项目,而不是包含单个项目的5个行?即

tabledata = [('DATE ', '3-20-2016', 'FIELD # ', '1')]