Spaces:
Sleeping
Sleeping
from utils import clean_text | |
from langchain_core.tools import tool | |
import io | |
import pandas as pd | |
import base64 | |
from utils import get_base64, get_text_file_contents | |
def parse_excel(base64_filepath: str) -> str: | |
"""Parses a base64-encoded Excel (.xlsx) file and returns a markdown summary.""" | |
try: | |
base64_str = get_text_file_contents(base64_filepath) | |
file_bytes = base64.b64decode(base64_str) | |
excel_file = pd.ExcelFile(io.BytesIO(file_bytes)) | |
output = [] | |
for sheet in excel_file.sheet_names: | |
df = excel_file.parse(sheet) | |
output.append(f"### Sheet: {sheet}\n") | |
output.append(df.head(20).to_markdown(index=False)) | |
output.append("\n") | |
return "\n".join(output) | |
except Exception as e: | |
return f"Error parsing Excel file: {e}" | |
if __name__ == "__main__": | |
import sys | |
filepath = 'C:\\Users\\agazo\\Downloads\\7bd855d8-463d-4ed5-93ca-5fe35145f733_file.xlsx' | |
try: | |
result = parse_excel(get_base64(filepath)) | |
print(result) | |
except FileNotFoundError: | |
print(f"File not found: {filepath}") | |
except Exception as e: | |
print(f"Error: {e}") |