如何向类似于 table 单元格的段落添加文本

How to add text to paragraphs similar to table cells

第一次在 SE 上发帖,很抱歉格式不正确。我是 python 和 python-docx 模块的新手,所以我的代码中可能缺少一些基本的东西。本质上,我试图在 for 循环中包含一个“add_paragraph”,这样循环中的每个 运行 都会为段落文本添加 +1 值。

我已经能够像这样循环访问 table 的单元格:

document= document(filename.docx)

for x in range(0,3): ##creates 3 tables
     table = document.add_table(rows=3,cols=3)

for y in range(0,3):
     for z in range(0,3):
          tablecells = document.tables[x].rows[y].cells
          tablecells[0].text = 'Column 0, cell %d' % (z)

这段代码的输出会在第一个 table:

的第一列给我这样的东西
|------------------|--------------|---------|
|Column 0, cell 0  |              |         |
|------------------|--------------|---------|
|Column 0, cell 1  |              |         |
|------------------|--------------|---------|
|Column 0, cell 2  |              |         |
|------------------|--------------|---------|

因此,此方法非常适用于使用已知值填充 table。

我想知道是否可以使用段落而不是 table 单元格来执行此操作。我的伪代码是这样的:

for x in range(1,4):
     document.add_paragraph('This is paragraph %d') % (x)

我的预期结果是这样的:

This is paragraph 1

This is paragraph 2

This is paragraph 3

但是,如果尝试 运行 此代码,我会收到此错误:

TypeError: unsupported operand type(s) for %: 'Paragraph' and 'int'

希望我说清楚了,提前感谢您提供的任何帮助和知识!

改变这个

for x in range(1,4):
     document.add_paragraph('This is paragraph %d') % (x)

for x in range(1,4):
     document.add_paragraph('This is paragraph %d' % (x))

第一段代码尝试在 document.add_paragraph('This is paragraph %d') 和 x 的结果上实现 % 运算符,x 应该是错误中提到的段落(对象)。

而第二部分是您想要的,即在字符串上应用 % 运算符并将 %d 替换为 x 的值。