Final_Assignment_1 / excel_test.py
hgmiya's picture
Implement GAIA Solver with enhanced agent capabilities and tool integration
aa3be20
import os
import requests
from openpyxl import load_workbook
# Excel Tool
def excel_to_csv(excel_path: str) -> str:
"""
Given an Excel file path or URL and an optional sheet name,
reads the spreadsheet using openpyxl and returns its contents as CSV text.
Args:
excel_path (str): The URL or local file path of the Excel file to convert.
Returns:
str: The CSV-formatted content of the sheet.
"""
print("--- Converting Excel to CSV ---")
print(f"Excel Path: {excel_path}")
excel_path = os.path.join("./GAIA_resource/", excel_path)
try:
# Load workbook from URL or local file
if excel_path.startswith("http"):
response = requests.get(excel_path)
response.raise_for_status()
data_stream = BytesIO(response.content)
wb = load_workbook(filename=data_stream, data_only=True)
else:
wb = load_workbook(filename=excel_path, data_only=True)
# Select worksheet
ws = wb.active
# Build CSV lines manually
lines = []
for row in ws.iter_rows(values_only=True):
# Convert each cell to string, using empty string for None
str_cells = ["" if cell is None else str(cell) for cell in row]
# Join cells with commas
line = ",".join(str_cells)
lines.append(line)
# Combine all lines into one CSV string
print("Converted Excel to CSV result : ", lines)
return "\n".join(lines)
except Exception as e:
return f"Error converting Excel to CSV: {e}"
excel_to_csv("7bd855d8-463d-4ed5-93ca-5fe35145f733.xlsx")