遍历 docx 的文件列表以提取和处理 table
iterate through file list of docx to extract and process table
我在几个目录和子目录中面临 3000 个 docx。我必须准备一个列表,其中包含文件名和从 docx 中的表格中提取的信息。我已成功将所有 docx 添加到列表中 targets_in_dir
将其与非相关文件分开。
问题:我想遍历 targets_in_dir
从 docx 中提取所有表格,
len_target =len(targets_in_dir)
file_processed=[]
string_tables=[]
for i in len_target:
doc = docx.Document(targets_in_dir[i])
file_processed.append(targets_ind[i])
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
str.split('MANUFACTURER')
string_tables.append(cell.text)
我收到错误 'int' object is not iterable
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-39-4847866a9234> in <module>
4 string_tables=[]
5
----> 6 for i in len_target:
7
8 doc = docx.Document(targets_in_dir[i])
TypeError: 'int' object is not iterable
我做错了什么?
您似乎正在尝试遍历 len_target = len(targets_in_dir)
,它是一个整数。因为 int
不是可迭代对象,所以您的 for 循环失败。
您需要遍历一个可迭代对象才能使 for
循环工作。
修复为
for i in range(len_target):
# do stuff
或
for i in targets_in_dir:
# do stuff
是一个很好的起点。
此外,您的 file_processed.append(targets_ind[i])
有错字。
我在几个目录和子目录中面临 3000 个 docx。我必须准备一个列表,其中包含文件名和从 docx 中的表格中提取的信息。我已成功将所有 docx 添加到列表中 targets_in_dir
将其与非相关文件分开。
问题:我想遍历 targets_in_dir
从 docx 中提取所有表格,
len_target =len(targets_in_dir)
file_processed=[]
string_tables=[]
for i in len_target:
doc = docx.Document(targets_in_dir[i])
file_processed.append(targets_ind[i])
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
str.split('MANUFACTURER')
string_tables.append(cell.text)
我收到错误 'int' object is not iterable
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-39-4847866a9234> in <module>
4 string_tables=[]
5
----> 6 for i in len_target:
7
8 doc = docx.Document(targets_in_dir[i])
TypeError: 'int' object is not iterable
我做错了什么?
您似乎正在尝试遍历 len_target = len(targets_in_dir)
,它是一个整数。因为 int
不是可迭代对象,所以您的 for 循环失败。
您需要遍历一个可迭代对象才能使 for
循环工作。
修复为
for i in range(len_target):
# do stuff
或
for i in targets_in_dir:
# do stuff
是一个很好的起点。
此外,您的 file_processed.append(targets_ind[i])
有错字。