python如何实现对word内段落文本及表格的读取 您所在的位置:网站首页 读取当前内容 python如何实现对word内段落文本及表格的读取

python如何实现对word内段落文本及表格的读取

2024-06-21 01:19| 来源: 网络整理| 查看: 265

在以下方法中用到的三方库是:python-docx

from docx import Document 获取指定段落的文本 def get_paragraph_text(path, n): """ 获取指定段落的文本 :param path: word路径 :param n: 第几段落,从0开始计数 :return: word文本 """ document = Document(path) all_paragraphs = len(document.paragraphs) if all_paragraphs >= n: paragraph_text = document.paragraphs[n].text return paragraph_text else: raise IndexError('paragraph index (%s) out of range, in total %s' % (n, all_paragraphs)) 获取全部段落的文本 def get_paragraphs_text(path): """ 获取所有段落的文本 :param path: word路径 :return: list类型,如: ['Test', 'hello world', ...] """ document = Document(path) all_paragraphs = document.paragraphs paragraphs_text = [] for paragraph in all_paragraphs: paragraphs_text.append(paragraph.text) return paragraphs_text 获取所有表格的文本 def get_all_tables_text(path): """ 获取word中所有表格的文本 :param path: word路径 :return: list类型的二维数组 如:[['年龄', '排序'], ['23', '00',], ...] """ document = Document(path) all_tables = document.tables text_list = [] for table in all_tables: for row in table.rows: text = [] for cell in row.cells: text.append(cell.text) text_list.append(text) return text_list 获取指定表格的文本 def get_table_text(path, n=0): """ 获取word中的第n个表格的文本 :param path: word路径 :param n: 第几个表格,从0开始计算 :return: list类型的二维数组 如:[['年龄', '排序'], ['23', '00',], ...] """ document = Document(path) all_tables = len(document.tables) if all_tables >= n: table = document.tables[n] text_list = [] for row in table.rows: text = [] for cell in row.cells: text.append(cell.text) text_list.append(text) return text_list else: raise IndexError('table index (%s) out of range, in total %s' % (n, all_tables)) 获取指定表格内指定单元格文本 def get_cell_text(path, n=0, row=0, col=0): """ 获取某个表格的某个单元格的值 :param path: word路径 :param n: 第几个表格,从0开始计算 :param row: 第几行,从0开始计算 :param col: 第几列,从0开始计算 :return: 单元格的值,str类型 """ document = Document(path) all_tables = len(document.tables) if all_tables >= n: rows = len(document.tables[n].rows) cols = len(document.tables[n].columns) if rows > row and cols > col: tab = document.tables[n].rows[row].cells[col] return tab.text else: raise IndexError('cell index out of range, %s;%s' % (row, col)) else: raise IndexError('table index (%s) out of range, in toatl %s' % (n, all_tables))

  

本文来自博客园,仅供参考学习,如有不当之处还望不吝赐教,不胜感激!转载请注明原文链接:https://www.cnblogs.com/rong-z/p/12486841.html

作者:cnblogs用户


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有