fix bugs generated by mypy.

pull/20625/head
haiyangpengai 12 months ago
parent fed0568d66
commit fd2b9fe3d0

@ -413,8 +413,10 @@ def _extract_text_from_csv(file_content: bytes) -> str:
except Exception as e:
raise TextExtractionError(f"Failed to extract text from CSV: {str(e)}") from e
def _extract_text_from_excel(file_content: bytes) -> str:
"""Extract text from an Excel file using pandas."""
def _construct_markdown_table(df: pd.DataFrame) -> str:
"""Manually construct a Markdown table from a DataFrame."""
# Construct the header row
@ -432,6 +434,7 @@ def _extract_text_from_excel(file_content: bytes) -> str:
# Combine all rows into a single string
markdown_table = "\n".join([header_row, separator_row] + data_rows)
return markdown_table
try:
excel_file = pd.ExcelFile(io.BytesIO(file_content))
markdown_table = ""
@ -441,10 +444,10 @@ def _extract_text_from_excel(file_content: bytes) -> str:
df.dropna(how="all", inplace=True)
# Combine multi-line text in each cell into a single line
df = df.applymap(lambda x: ' '.join(str(x).splitlines()) if isinstance(x, str) else x)
df = df.applymap(lambda x: " ".join(str(x).splitlines()) if isinstance(x, str) else x) # type: ignore
# Combine multi-line text in column names into a single line
df.columns = [' '.join(col.splitlines()) for col in df.columns]
df.columns = pd.Index([" ".join(col.splitlines()) for col in df.columns])
# Manually construct the Markdown table
markdown_table += _construct_markdown_table(df) + "\n\n"

Loading…
Cancel
Save