AttributeError: 'Table' object has no attribute 'cols'
时间: 2023-06-23 19:55:38 浏览: 144
抱歉,我的之前的回答中有误。对于表格对象 `table`,正确的获取行数和列数的方式分别是 `len(table.rows)` 和 `len(table.columns)`,而不是 `table.rows` 和 `table.cols`。
下面是修改后的代码:
```
import docx
# docx文件列表
docx_list = ["doc1.docx", "doc2.docx", "doc3.docx"]
# 创建一个新的docx文件
merged_docx = docx.Document()
# 定义段落格式
para_format = merged_docx.styles['Normal']
# 定义表格样式
table_style = 'Table Grid'
# 遍历要合并的docx文件列表,逐个读取并将其内容添加到新的docx文件中
for filename in docx_list:
doc = docx.Document(filename)
for para in doc.paragraphs:
merged_docx.add_paragraph(para.text, para_format)
for table in doc.tables:
rows = len(table.rows)
cols = len(table.columns)
merged_table = merged_docx.add_table(rows=rows, cols=cols, style=table_style)
for i in range(rows):
for j in range(cols):
merged_table.cell(i, j).text = table.cell(i, j).text
# 保存新的docx文件
merged_docx.save("merged_docx.docx")
```
在这个示例中,我们使用 `len(table.rows)` 和 `len(table.columns)` 获取表格的行数和列数,并使用 `merged_docx.add_table()` 方法创建一个新的表格,然后使用双重循环将原表格中的内容复制到新表格中。
希望这次回答能够帮到你。
阅读全文