Python 用 docx 处理 Word 中表格时出现的文本重复问题
这两天用docx
提取Word中表格时, 发现对于稍稍复杂一点的表格就会出现很多重复项, 比如
使用代码
1 | table_temp = [] |
其得到结果部分为
1 | ['从何时开始\n运行', |
最初我试图跳过已出现的文本, 但是有不少文本本来就是多次出现的, 遂作罢.
之后阅读了部分源代码发现, 那些程序性重复文本是对同一个对象的引用, 所以只要在读取一个值后对其text
置空或者任意自定义的其他, 就可以把后面将要出现的程序性重复项也设置为自定义项.
即
1 | table_temp = [] |
可得到
1 | [['申报平台\n名称'], |
至此, 只要稍稍处理下规则就能愉快地格式化数据了
吐槽:
docx
对于表格的处理真的太麻缠了, 几乎要被逼换vba
, QWQ
从我的知乎文章搬运而来
Python 用 docx 处理 Word 中表格时出现的文本重复问题