Skip to content

Commit

Permalink
remove pandas, use calamine + tabulate
Browse files Browse the repository at this point in the history
  • Loading branch information
yeungadrian committed Jan 4, 2025
1 parent b953121 commit bbacf89
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 11 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ dependencies = [
"markdownify",
"numpy",
"python-pptx",
"pandas",
"python-calamine",
"tabulate",
"pdfminer.six",
"puremagic",
"pydub",
Expand Down
12 changes: 8 additions & 4 deletions src/markitdown/_markitdown.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@
import mammoth
import markdownify
import olefile
import pandas as pd
import pdfminer
import pdfminer.high_level
import pptx
from python_calamine import load_workbook
from tabulate import tabulate

# File-format detection
import puremagic
Expand Down Expand Up @@ -726,11 +727,14 @@ def convert(self, local_path, **kwargs) -> Union[None, DocumentConverterResult]:
if extension.lower() not in [".xlsx", ".xls", ".xlsb", ".xlsm"]:
return None

sheets = pd.read_excel(local_path, sheet_name=None, engine="calamine")
workbook = load_workbook(local_path)
md_content = ""
for s in sheets:
for s in workbook.sheet_names:
sheet = workbook.get_sheet_by_name(s)
# TODO: Add argument to allow filtering empty row / columns
tabular_data = sheet.to_python(skip_empty_area=False)
md_content += f"## {s}\n"
html_content = sheets[s].to_html(index=False)
html_content = tabulate(tabular_data, tablefmt="html")
md_content += self._convert(html_content).text_content.strip() + "\n\n"

return DocumentConverterResult(
Expand Down
6 changes: 0 additions & 6 deletions tests/test_markitdown.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,6 @@
"affc7dad-52dc-4b98-9b5d-51e65d8a8ad0",
]

XLS_TEST_STRINGS = [
"## 09060124-b5e7-4717-9d07-3c046eb",
"6ff4173b-42a5-4784-9b19-f49caff4d93d",
"affc7dad-52dc-4b98-9b5d-51e65d8a8ad0",
]

DOCX_TEST_STRINGS = [
"314b0a30-5b04-470b-b9f7-eed2c2bec74a",
"49e168b7-d2ae-407f-a055-2167576f39a1",
Expand Down

0 comments on commit bbacf89

Please sign in to comment.