Python

您所在的位置:网站首页 word文档内容拆分 Python

Python

2023-08-22 09:28| 来源: 网络整理| 查看: 265

前言

本文对使用python读取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法进行分享和使用总结。 可以读取不同文件的库和方法当然不止下面分享的这些,本文的代码主要目标都是:方便提取文件中所有文本的实现方式。 这些库的更多使用方法,请到官方文档中查阅。

读取PDF文本:PyPDF2 import PyPDF2 def read_pdf_to_text(file_path): with open(file_path, 'rb') as pdf_file: pdf_reader = PyPDF2.PdfReader(pdf_file) contents_list = [] for page in pdf_reader.pages: content = page.extract_text() contents_list.append(content) return '\n'.join(contents_list) read_pdf_to_text('xxx.pdf') 读取Word文本:docx2txt

doc需先手动转换成docx

import docx2txt def read_docx_to_text(file_path): text = docx2txt.process(file_path) return text read_docx_to_text('xxx.docx') 读取excel文本:pandas

当然,pandas能读取的文件不仅仅是excel,还包括csv、json等。

import pandas as pd def read_excel_to_text(file_path): excel_file = pd.ExcelFile(file_path) sheet_names = excel_file.sheet_names text_list = [] for sheet_name in sheet_names: df = excel_file.parse(sheet_name) text = df.to_string(index=False) text_list.append(text) return '\n'.join(text_list) read_excel_to_text('xxx.xlsx') 读取ppt文本:pptx from pptx import Presentation def read_pptx_to_text(file_path): prs = Presentation(file_path) text_list = [] for slide in prs.slides: for shape in slide.shapes: if shape.has_text_frame: text_frame = shape.text_frame text = text_frame.text if text: text_list.append(text) return '\n'.join(text_list) read_pptx_to_text('xxx.pptx') 读取csv、txt其他文本:直接open,read() def read_txt_to_text(file_path): with open(file_path, 'r') as f: text = f.read() return text read_txt_to_text('xxx.csv') read_txt_to_text('xxx.txt') 读取任何文件格式

有了前面的所有函数,那我们可以写一个支持传任意格式文件的函数。

support = { 'pdf': 'read_pdf_to_text', 'docx': 'read_docx_to_text', 'xlsx': 'read_excel_to_text', 'pptx': 'read_pptx_to_text', 'csv': 'read_txt_to_text', 'txt': 'read_txt_to_text', } def read_any_file_to_text(file_path): file_suffix = file_path.split('.')[-1] func = support.get(file_suffix) if func is None: return '暂不支持该文件格式' text = eval(func)(file_path) return text read_any_file_to_text('xxx.pdf') read_any_file_to_text('xxx.docx') read_any_file_to_text('xxx.xlsx') read_any_file_to_text('xxx.pptx') read_any_file_to_text('xxx.csv') read_any_file_to_text('xxx.txt') 结语

以上就是全部常见的文件格式的读取和提取所有文本的全部内容了。 更多其他的使用方法请查阅官方文档。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3