关于len()函数的报错,改不明白呀!求

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)?按照你给的代码试验了一下是可以运行的