python 将两个压缩列表附加到 docx 文件中

python append two zipped lists into docx file

john = [...]
jake = [...]       

for a,b in zip(john, jake):
    document = Document()
    document.add_paragraph(f"{a}---------------{b} \n")
    document.save("docxpy.docx")

我有两个列表,想将它们的值作为“a----------------b”附加到“docxpy.docx”文件中。但是每次它只附加其中一个。我是新人python请字体笑话我

试试这个:

john = [...]
jake = [...]       

document = Document() # this needs to be before the for loop

for a,b in zip(john, jake):
    document.add_paragraph(f"{a}---------------{b} \n")

document.save("docxpy.docx") # this should come after the for loop

问题是您在循环内初始化了 document,这意味着每次迭代都会用一个空的 Document() 对象重新初始化 document。结果,在循环的最后一次迭代中,您最终得到的文档仅包含最后一对 a,b,这就是您在输出文档中只看到一行的原因。在 for 循环之前初始化 document 变量应该可以解决问题。

此外,你应该把save方法调用放在循环之后。这不是绝对必要的(你会注意到你会得到相同的结果),但它节省了 time/resources 因为你只需要在最后添加所有段落后将文件写入磁盘一次。