python word文档提取指定表格到Excel和txt文档

word文档提取指定表格到Excel和txt文档
代码:

from docx import Document  # 导入库
from openpyxl import Workbook
workbook = Workbook()
worksheet = workbook.active
worksheet.title = 'sheet1'
worksheet2 = workbook.create_sheet('sheet2')
worksheet3 = workbook.create_sheet('sheet3')

path = "D:\\SC8F677X_2203A1\\SC8F677x用户手册_V0.0.docx"  # 文件路径
document = Document(path)  # 读入文件
tables = document.tables  # 获取文件中的表格集
f = open('test.txt', 'w')  # 创建txt文件

# 获取第一行第一列内容连续为地址的表格位置
index = -1  # 第index个表格
num = 0  # 所求表格的数量
while True:
    index += 1
    if tables[index].cell(0, 0).text == '地址':
        num += 1
        if tables[index + 1].cell(0, 0).text != '地址':
            break

# 将第index-num+1到第index个表格取出来转到Excel和txt文件
for k in range(index - num + 1, index + 1, 1):  # 选取符合要求的表格
    for i, row in enumerate(tables[k].rows):  # 读每行
        row_content = []  # 生成列表
        if i != 0:
            for cell in row.cells[0:-1]:  # 读一行中的所有单元格
                c = cell.text
                if c == '----':
                    row_content.append(c)
                else:
                    if c not in row_content:
                        row_content.append(c)
                    elif c in row_content:
                        row_content.append(' ')

            line = ','.join(row_content)  # 列表转字符串
            f.write(line + '\n')
            worksheet.append(row_content)
workbook.save('test.xlsx')  # 保存为.xlsx的Excel文件
f.close()  # 关闭.txt文件
print("over")

提取的表格为连续第一行第一列内容相同的表格,这里提取的是 地址 这一元素

posted @ 2022-06-24 08:50  羽小兮  阅读(678)  评论(0)    收藏  举报