「日常」用中文写 Python 系列——读取 word 文档中的表格并比较

最近想对某些word文档(docx)的表格内容作比较, 于是找了一下相关工具. 参考 Automate the Boring Stuff with Python 中的word部分, 试用了python-docx

演示如下. 两个简单的word文档, 各有一个表格:


「日常」用中文写 Python 系列——读取 word 文档中的表格并比较

读取文档中的表格到列表(为演示只对单列表格操作):

「日常」用中文写 Python 系列——读取 word 文档中的表格并比较

读取结果:

表1.docx -> ['值1', '值2', '值3']

接着找到这个做比较的python库seperman/deepdiff, 来源: Get difference between two lists

from deepdiff import DeepDiff

表1 = 取表格('表1.docx')
表2 = 取表格('表2.docx')

print(DeepDiff(表1, 表2))

输出结果(为更可读, 已手动格式化):

{
'values_changed': 
  {'root[1]': 
    {'new_value': '值2.5', 'old_value': '值2'}
  }, 
'iterable_item_added': 
  {'root[3]': '值4'}
}

显示了修改的值和添加的值, 还挺好用. 实际的表格是两列, 需要按照某个键值作对比. 于是用字典, 正好DeepDiff也提供两个字典间的比较. 双列表文件演示:

「日常」用中文写 Python 系列——读取 word 文档中的表格并比较

读取双列表到字典后, 进行比较:

「日常」用中文写 Python 系列——读取 word 文档中的表格并比较

输出如下:

{ 'dictionary_item_added': {"root['键3']"},
  'values_changed': {"root['键2']": {'new_value': '值2.5', 'old_value': '值2'}}}
展开阅读全文

页面更新:2024-04-23

标签:表格   文档   用字   中文   字典   演示   可读   日常   来源   两个   操作   简单   文件   工具   系列   内容   列表   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top