mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
Fix: chunk method error. (#11807)
### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
@ -41,7 +41,7 @@ class RAGFlowExcelParser:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
file_like_object.seek(0)
|
file_like_object.seek(0)
|
||||||
df = pd.read_csv(file_like_object)
|
df = pd.read_csv(file_like_object, on_bad_lines='skip')
|
||||||
return RAGFlowExcelParser._dataframe_to_workbook(df)
|
return RAGFlowExcelParser._dataframe_to_workbook(df)
|
||||||
|
|
||||||
except Exception as e_csv:
|
except Exception as e_csv:
|
||||||
@ -164,7 +164,7 @@ class RAGFlowExcelParser:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.warning(f"Parse spreadsheet error: {e}, trying to interpret as CSV file")
|
logging.warning(f"Parse spreadsheet error: {e}, trying to interpret as CSV file")
|
||||||
file_like_object.seek(0)
|
file_like_object.seek(0)
|
||||||
df = pd.read_csv(file_like_object)
|
df = pd.read_csv(file_like_object, on_bad_lines='skip')
|
||||||
df = df.replace(r"^\s*$", "", regex=True)
|
df = df.replace(r"^\s*$", "", regex=True)
|
||||||
return df.to_markdown(index=False)
|
return df.to_markdown(index=False)
|
||||||
|
|
||||||
|
|||||||
@ -201,12 +201,23 @@ def chunk(filename, binary=None, from_page=0, to_page=100000,
|
|||||||
|
|
||||||
elif re.search(r"\.doc$", filename, re.IGNORECASE):
|
elif re.search(r"\.doc$", filename, re.IGNORECASE):
|
||||||
callback(0.1, "Start to parse.")
|
callback(0.1, "Start to parse.")
|
||||||
binary = BytesIO(binary)
|
try:
|
||||||
doc_parsed = parser.from_buffer(binary)
|
from tika import parser as tika_parser
|
||||||
sections = doc_parsed['content'].split('\n')
|
except Exception as e:
|
||||||
sections = [s for s in sections if s]
|
callback(0.8, f"tika not available: {e}. Unsupported .doc parsing.")
|
||||||
callback(0.8, "Finish parsing.")
|
logging.warning(f"tika not available: {e}. Unsupported .doc parsing for {filename}.")
|
||||||
|
return []
|
||||||
|
|
||||||
|
binary = BytesIO(binary)
|
||||||
|
doc_parsed = tika_parser.from_buffer(binary)
|
||||||
|
if doc_parsed.get('content', None) is not None:
|
||||||
|
sections = doc_parsed['content'].split('\n')
|
||||||
|
sections = [s for s in sections if s]
|
||||||
|
callback(0.8, "Finish parsing.")
|
||||||
|
else:
|
||||||
|
callback(0.8, f"tika.parser got empty content from {filename}.")
|
||||||
|
logging.warning(f"tika.parser got empty content from {filename}.")
|
||||||
|
return []
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError(
|
raise NotImplementedError(
|
||||||
"file type not supported yet(doc, docx, pdf, txt supported)")
|
"file type not supported yet(doc, docx, pdf, txt supported)")
|
||||||
|
|||||||
Reference in New Issue
Block a user