使用PYTHON从Word转换的文本文件中提取指定表格区间内容的方法
Word转文本后表格区间内容提取及自动化入库方案
区间内容提取实现
你已经完成了Word到文本的转换,直接用状态标记遍历法就可以提取两个指定关键词之间的内容,Python实现示例如下:
# 读取转换后的文本文件 with open("word_export.txt", "r", encoding="utf-8") as f: text_lines = f.readlines() # 自定义起止标记关键词 start_tag = "table 1" end_tag = "table 2" recording_flag = False result_list = [] for line in text_lines: # 匹配到起始标记,开启记录 if start_tag in line: recording_flag = True # 若不需要保留起始标记本身,可添加continue跳过当前行 continue # 匹配到结束标记,终止记录 if end_tag in line: recording_flag = False break # 记录状态下存储当前行内容 if recording_flag: result_list.append(line.strip()) # 如需转为字符串格式,使用join方法拼接即可 result_str = "\n".join(result_list)
如果需要批量提取所有table对应的内容,可以先生成所有table标记的有序列表(如[f"table {i}" for i in range(1, 总表格数+1)]),再两两配对循环调用上述逻辑即可。
结构化入库实现
提取到单张表格的内容后,根据你的文本排版规则做结构化处理:
- 若表格是制表符/空格等分隔符分隔的格式,直接用
split()方法切割每行内容,匹配预设列名取值 - 若为固定宽度的纯文本表格,可以通过字符串切片、列名模糊匹配定位对应字段的取值位置
结构化完成后,调用对应数据库的驱动包(如MySQL用pymysql、SQLite用内置的sqlite3)构造插入语句,即可写入数据库对应列。
全流程自动化封装
如果要实现上传Word后自动处理,可把Word转文本的逻辑和上述提取逻辑封装在一起,常用的Word文本提取依赖:
- 处理
.docx格式文件用python-docx,示例:
from docx import Document doc = Document("待处理文件.docx") text_lines = [para.text for para in doc.paragraphs]
- 处理
.doc格式文件可在Windows环境下用win32com,跨环境可用textract依赖实现。

内容的提问来源于stack exchange,提问作者YIF99
相关产品推荐
相关产品推荐

