0


Python - 读取pdf、word、excel、ppt、csv、txt文件提取所有文本

前言

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

读取PDF文本:PyPDF2

import PyPDF2

defread_pdf_to_text(file_path):withopen(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

defread_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

defread_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

defread_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()

defread_txt_to_text(file_path):withopen(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',}defread_any_file_to_text(file_path):
    file_suffix = file_path.split('.')[-1]
    func = support.get(file_suffix)if func isNone: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')

结语

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

标签: python pdf word

本文转载自: https://blog.csdn.net/DreamingBetter/article/details/132245440
版权归原作者 DreamingBetter 所有, 如有侵权,请联系我们删除。

“Python - 读取pdf、word、excel、ppt、csv、txt文件提取所有文本”的评论:

还没有评论