Python讀取pdf、word、excel、ppt、csv和txt文件提取所有文本
前言
本文對(duì)使用python讀取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法進(jìn)行分享和使用總結(jié)。
可以讀取不同文件的庫(kù)和方法當(dāng)然不止下面分享的這些,本文的代碼主要目標(biāo)都是:方便提取文件中所有文本的實(shí)現(xiàn)方式。
這些庫(kù)的更多使用方法,請(qǐng)到官方文檔中查閱。
讀取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需先手動(dòng)轉(zhuǎn)換成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
當(dāng)然,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')
讀取任何文件格式
有了前面的所有函數(shù),那我們可以寫一個(gè)支持傳任意格式文件的函數(shù)。
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')
結(jié)語(yǔ)
以上就是全部常見的文件格式的讀取和提取所有文本的全部?jī)?nèi)容了。
更多其他的使用方法請(qǐng)查閱官方文檔。
到此這篇關(guān)于Python讀取pdf、word、excel、ppt、csv和txt文件提取所有文本的文章就介紹到這了,更多相關(guān)Python讀取文件提取所有文本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
給大家整理了19個(gè)pythonic的編程習(xí)慣(小結(jié))
這篇文章主要介紹了給大家整理了19個(gè)pythonic的編程習(xí)慣(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09python實(shí)現(xiàn)簡(jiǎn)易五子棋游戲(控制臺(tái)版)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Python項(xiàng)目打包成apk或者其他端的應(yīng)用程序
本文主要介紹了使用Kivy和Buildozer將Python項(xiàng)目打包成Android APK文件的步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11Python+Selenium使用Page Object實(shí)現(xiàn)頁(yè)面自動(dòng)化測(cè)試
這篇文章主要介紹了Python+Selenium使用Page Object實(shí)現(xiàn)頁(yè)面自動(dòng)化測(cè)試,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python OpenCV實(shí)現(xiàn)基于模板的圖像拼接
基于特征點(diǎn)的圖像拼接如果是多張圖,每次計(jì)算變換矩陣,都有誤差,最后可以圖像拼完就變形很大,基于模板的方法可以很好的解決這一問題,本文就來和大家具體聊聊2022-10-10python實(shí)現(xiàn)身份證實(shí)名認(rèn)證的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)身份證實(shí)名認(rèn)證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python將一個(gè)英文語(yǔ)句以單詞為單位逆序排放的方法
今天小編就為大家分享一篇python將一個(gè)英文語(yǔ)句以單詞為單位逆序排放的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程的步驟詳解
Python數(shù)據(jù)庫(kù)編程可以使用多種模塊與API,例如SQLite、MySQL、PostgreSQL等,本教程將重點(diǎn)介紹使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程,需要的朋友可以參考下2023-06-06Pandas時(shí)間序列:重采樣及頻率轉(zhuǎn)換方式
今天小編就為大家分享一篇Pandas時(shí)間序列:重采樣及頻率轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12