Python小技巧:提取docx文件中表格

本文介绍如何使用Python-docx库读取.docx文件中的表格数据,通过实例演示了数据提取、清洗和去重的方法,特别关注了路径处理和中文文件名的问题。
'''
使用的包:python-docx
安装方式:conda install -c conda-forge python-docx
帮助文档:https://python-docx.readthedocs.io/en/latest/index.html#
'''
import docx 
# import os
from docx import Document

# 1、路径出现的问题特别多,可以参考下方的程序检验路径
# 2、文件名称好像不能是中文
doc_file = '/Users/matthewfan/Documents/123.docx'
document = Document(doc_file)

tables = document.tables # 获取文档中的所有表格
table = tables[0] # 提取文档中的第一个表格,测试文档中仅有一个表格

lo = {} # 存储每一行去重后的数据
for row in range(0, len(table.rows)):
    row_list = []
    for col in range(0,len(table.row_cells(row))):  # 提取row行的全部列数据
        row_list.append(table.cell(row,col).text.replace('\n','').replace(' ', '')) # 去除字符串中的特殊字符,并添加到临时列表中
    lo[row] = (sorted(set(row_list), key = row_list.index)) # 在不变顺序的前提下,去除List中的重复项
    
    # 打印出每行的数据观察相关格式特征
    print(row, ":len(", len(lo[row]),'):',lo[row])

输出结果:

(1)可以通过数据的长度进行类型名与内容的区分

(2)可以通过配置文件进行类型的归类,提高docx文件变化而引起的开发量(暂不提供处理代码)

0 :len( 7 ): ['姓名', '***', '性
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会唱歌的老樊

老少爷们,来个赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值