import csv
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
class DealFile(object):
"""
读取csv文件
@:param path: 文件路径
@:return result: 以列表形式将文件内容返回
"""
@staticmethod
def read_csv(path):
result = []
with open(path, 'r') as f:
reader = csv.reader(f)
for row in reader:
result.append(row)
return result
"""
向csv文件中写入内容
@:param path: 文件路径
@:param data: 以列表形式将内容传入
"""
@staticmethod
def write_csv(path, data):
with open(path, 'w') as f:
writer = csv.writer(f)
for row_data in data:
writer.writerow(row_data)
"""
读取pdf文件
@:param path: 文件路径
@:return result: 以列表形式将文件内容返回
"""
@staticmethod
def read_pdf(path):
result = []
# 创建文档对象
fp = open(path, "rb")
# 创建一个与文档关联的解释器
parser = PDFParser(fp)
# 创建一个PDF的文档对象
doc = PDFDocument()
# 连接解释器和文档对象
parser.set_document(doc)
doc.set_parser(parser)
# 初始化文档
doc.initialize("")
# 创建PDF资源管理器
resource = PDFResourceManager()
# 参数分析器
laparam = LAParams()
# 聚合器
device = PDFPageAggregator(resource, laparams=laparam)
# 页面解释器
interpreter = PDFPageInterpreter(resource, device)
# 使用文档对象得到页面的集合
for page in doc.get_pages():
# 使用页面解释器来读取
interpreter.process_page(page)
# 使用聚合器获得内容
layout = device.get_result()
for out in layout:
if hasattr(out, "get_text"):
result.append(out.get_text)
return result
Python操作文件读写
猜你喜欢
转载自blog.csdn.net/qq_36355119/article/details/82941072
今日推荐
周排行