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

 更新时间:2023年08月21日 11:07:21   作者:DreamingBetter  
这篇文章主要给大家介绍了关于Python读取pdf、word、excel、ppt、csv和txt文件提取所有文本的相关资料,文中通过代码示例将实现的方法介绍的非常详细,需要的朋友可以参考下

前言

本文对使用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')

结语

以上就是全部常见的文件格式的读取和提取所有文本的全部内容了。

更多其他的使用方法请查阅官方文档。

到此这篇关于Python读取pdf、word、excel、ppt、csv和txt文件提取所有文本的文章就介绍到这了,更多相关Python读取文件提取所有文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 给大家整理了19个pythonic的编程习惯(小结)

    给大家整理了19个pythonic的编程习惯(小结)

    这篇文章主要介绍了给大家整理了19个pythonic的编程习惯(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • python实现简易五子棋游戏(控制台版)

    python实现简易五子棋游戏(控制台版)

    这篇文章主要为大家详细介绍了python实现简易五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Python项目打包成apk或者其他端的应用程序

    Python项目打包成apk或者其他端的应用程序

    本文主要介绍了使用Kivy和Buildozer将Python项目打包成Android APK文件的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • Python+Selenium使用Page Object实现页面自动化测试

    Python+Selenium使用Page Object实现页面自动化测试

    这篇文章主要介绍了Python+Selenium使用Page Object实现页面自动化测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python OpenCV实现基于模板的图像拼接

    Python OpenCV实现基于模板的图像拼接

    基于特征点的图像拼接如果是多张图,每次计算变换矩阵,都有误差,最后可以图像拼完就变形很大,基于模板的方法可以很好的解决这一问题,本文就来和大家具体聊聊
    2022-10-10
  • python实现身份证实名认证的方法实例

    python实现身份证实名认证的方法实例

    这篇文章主要给大家介绍了关于python实现身份证实名认证的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • python将一个英文语句以单词为单位逆序排放的方法

    python将一个英文语句以单词为单位逆序排放的方法

    今天小编就为大家分享一篇python将一个英文语句以单词为单位逆序排放的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 使用Python连接MySQL数据库进行编程的步骤详解

    使用Python连接MySQL数据库进行编程的步骤详解

    Python数据库编程可以使用多种模块与API,例如SQLite、MySQL、PostgreSQL等,本教程将重点介绍使用Python连接MySQL数据库进行编程,需要的朋友可以参考下
    2023-06-06
  • python实现超级玛丽游戏

    python实现超级玛丽游戏

    这篇文章主要为大家详细介绍了python实现超级玛丽游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Pandas时间序列:重采样及频率转换方式

    Pandas时间序列:重采样及频率转换方式

    今天小编就为大家分享一篇Pandas时间序列:重采样及频率转换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论