赞
踩
本文对使用python读取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法进行分享和使用总结。
可以读取不同文件的库和方法当然不止下面分享的这些,本文的代码主要目标都是:方便提取文件中所有文本的实现方式。
这些库的更多使用方法,请到官方文档中查阅。
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')
doc需先手动转换成docx
import docx2txt
def read_docx_to_text(file_path):
text = docx2txt.process(file_path)
return text
read_docx_to_text('xxx.docx')
当然,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')
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')
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 © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。