Python讀取pdf、word、excel、ppt、csv和txt文件提取所有文本
前言
本文對(duì)使用python讀取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法進(jìn)行分享和使用總結(jié)。
可以讀取不同文件的庫和方法當(dāng)然不止下面分享的這些,本文的代碼主要目標(biāo)都是:方便提取文件中所有文本的實(shí)現(xiàn)方式。
這些庫的更多使用方法,請(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é)語
以上就是全部常見的文件格式的讀取和提取所有文本的全部?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)文章
pytorch加載預(yù)訓(xùn)練模型與自己模型不匹配的解決方案
這篇文章主要介紹了pytorch加載預(yù)訓(xùn)練模型與自己模型不匹配的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python實(shí)現(xiàn)從概率分布中隨機(jī)采樣
這篇文章主要介紹了通過幾個(gè)機(jī)器學(xué)習(xí)中最常用的概率分布為例,來看看如何從一個(gè)概率分布中采樣,文章中的代碼對(duì)我們的工作或?qū)W習(xí)具有一定價(jià)值,感興趣的朋友可以了解一下2021-12-12
Python實(shí)現(xiàn)合并多張圖片成視頻的示例詳解
隨著短視頻的興起,越來越多的人開始用各種形式進(jìn)行視頻制作,本篇博客從程序員的角度為大家解析一下如何通過?Python?合并多個(gè)圖片為一個(gè)視頻,需要的可以參考一下2023-02-02
python神經(jīng)網(wǎng)絡(luò)ResNet50模型的復(fù)現(xiàn)詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)ResNet50模型的復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

