LangGraph_GAIA / tools /read_excel.py
BiGuan's picture
Update tools/read_excel.py
7ffe265 verified
Raw
History Blame Contribute Delete
1 kB
import os
import requests
import pandas as pd
from io import BytesIO
def read_excel_sales(file_url: str) -> str:
try:
headers = {"Authorization": f"Bearer {os.getenv('HF_TOKEN')}"}
response = requests.get(file_url, headers=headers, timeout=10)
response.raise_for_status()
df = pd.read_excel(BytesIO(response.content), engine='openpyxl')
# 查找销售额列
sales_col = None
for col in df.columns:
if 'sales' in str(col).lower() or 'total' in str(col).lower() or 'price' in str(col).lower():
sales_col = col
break
if sales_col is None:
numeric_cols = df.select_dtypes(include='number').columns
if len(numeric_cols) > 0:
total = df[numeric_cols].sum().sum()
else:
return "0.00"
else:
total = df[sales_col].sum()
return f"{total:.2f}"
except Exception as e:
return f"Error: {str(e)}"