当前位置:   article > 正文

python读取docx中的表格形成三元组_python将表格数据变成三元组

python将表格数据变成三元组

知识图谱在构建过程中有个步骤就是知识抽取,知识抽取里面有好多种数据,什么结构化数据,半结构化数据,非结构化数据…今天学习的是比较简单的从docx的表格里提取数据(我也没怎么学过python,我不生产代码,我只是代码的搬运工)
我用的python3.7
先看一下我需要的内容是什么
docx内容我想要抽取出来的是(源,角色/关系,目的地)这个东西组成的三元组。需要把表格中的部分进行一个列的交换。最后导出成csv三元组文件。

抽取三元组

from docx import Document  # 导入库
import pandas as pd

path = '服务包企业.docx'  # 文件路径
document = Document(path)  # 读入文件
tables = document.tables  # 获取文件中的表格集
row_content = []  # 制造一个列表用来存最终结果
start1 = ['企业视图', '阶段', '开发阶段']
row_content.append(start1)  # 存放物理视图关系
tb1 = tables[0]  # 取docx里第一个表格
for i, row in enumerate(tb1.rows[1:]):  # 读每行 除去第一行
    row_content1 = []  # 临时列表用来存每一行的内容
    for cell in row.cells[:1]:  # 读一行中的第一列单元格
        c = cell.text # 转化成文本格式
        row_content1.append(c)
    for cell in row.cells[2:4]:  # 读一行中的第三列单元格
        c = cell.text
        row_content1.append(c)
    for cell in row.cells[1:2]:  # 读一行中的第二列单元格
        c = cell.text
        row_content1.append(c)
    row_content.append(row_content1)
name = ['实体', '实体', '关系']  # 制定表头
test = pd.DataFrame(columns=name, data=row_content)  # 生成csv
test.to_csv('E:/enterprise_view.csv', encoding="utf_8_sig")  # 导出csv
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

如果不进行交换的话,直接用这个

from docx import Document  # 导入库
import pandas as pd

path = '服务包企业.docx'  # 文件路径
document = Document(path)  # 读入文件
tables = document.tables  # 获取文件中的表格集
row_content = []  # 制造一个列表用来存最终结果
start1 = ['企业视图', '阶段', '开发阶段']
row_content.append(start1)  # 存放物理视图关系
tb1 = tables[0]  # 取docx里第一个表格
for i, row in enumerate(tb1.rows[1:]):  # 读每行除去第一行
    row_content1 = []  # 临时列表用来存每一行的内容
    for cell in row.cells[:1]:  # 读一行中的第一列单元格
        c = cell.text
        row_content1.append(c)
    row_content.append(row_content1)
name = ['实体', '实体', '关系']  # 制定表头
test = pd.DataFrame(columns=name, data=row_content)  # 生成csv
test.to_csv('E:/enterprise_view.csv', encoding="utf_8_sig")  # 导出csv
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

第一次使用docx包可能会出错,说找不到这个包
用pycharm自带的pip安装会出现python2和3不兼容的问题,所以这里推荐自己进行安装。

安装python-docx

我用的是pycharm
pycharm打开file中的settings,然后点击project,在这个位置有个+号,然后搜索python-docx,点击安装就行。
在这里插入图片描述最后抽取的csv文件如图
csv抽取图
参考文献
使用python-docx提取表格信息
使用docx库出现报错找不到模块
使用pycharm导入库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/468327
推荐阅读
相关标签
  

闽ICP备14008679号