from docx import Document
filename='test.docx'
doc = Document(filename)
tables=doc.tables
for i in range(len(tables)):
tb=tables[i]
#获取表格的行
tb_rows=tb.rows
#读取每一行内容
for i in range(len(tb_rows)):
row_data=[]
row_cells=tb_rows[i].cells
#读取每一行单元格内容
for cell in row_cells:
#单元格内容
row_data.append(cell.text)
print(row_data)
Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
len()方法的类型不对吧。你看下报错信息。
代码本身没有问题,可能是你读取的文件里读取不到表格,也可能是你的代码缩进错误。下面代码经测试返回正确结果,把它复制一下,选择一个有表格的docx文档测试一下:
from docx import Document
filename = r'F:\2021\special_char_unicode.docx'
doc = Document(filename)
tables=doc.tables
for i in range(len(tables)):
tb=tables[i]
#获取表格的行
tb_rows=tb.rows
#读取每一行内容
for i in range(len(tb_rows)):
row_data=[]
row_cells=tb_rows[i].cells
#读取每一行单元格内容
for cell in row_cells:
#单元格内容
row_data.append(cell.text)
print(row_data)
按你说的报错应该是代码哪里写错为len(table)?按照你给的代码试验了一下是可以运行的