| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # coding=utf-8
- """
- @project: maxkb
- @Author:虎
- @file: base_parse_qa_handle.py
- @date:2024/5/21 14:56
- @desc:
- """
- from abc import ABC, abstractmethod
- def get_row_value(row, title_row_index_dict, field):
- index = title_row_index_dict.get(field)
- if index is None:
- return None
- if (len(row) - 1) >= index:
- return row[index]
- return None
- def get_title_row_index_dict(title_row_list):
- title_row_index_dict = {}
- if len(title_row_list) == 1:
- title_row_index_dict['content'] = 0
- elif len(title_row_list) == 1:
- title_row_index_dict['title'] = 0
- title_row_index_dict['content'] = 1
- else:
- title_row_index_dict['title'] = 0
- title_row_index_dict['content'] = 1
- title_row_index_dict['problem_list'] = 2
- for index in range(len(title_row_list)):
- title_row = title_row_list[index]
- if title_row is None:
- title_row = ''
- if title_row.startswith('分段标题'):
- title_row_index_dict['title'] = index
- if title_row.startswith('分段内容'):
- title_row_index_dict['content'] = index
- if title_row.startswith('问题'):
- title_row_index_dict['problem_list'] = index
- return title_row_index_dict
- class BaseParseQAHandle(ABC):
- @abstractmethod
- def support(self, file, get_buffer):
- pass
- @abstractmethod
- def handle(self, file, get_buffer, save_image):
- pass
|