Similar create_csv_agent
but for .xls or .xlsx?
#9847
-
long story short, and thanks to google,python and streamlit, i can upload .csv files and use chatGPT to talk with them:
My question is: how can i replace the agents if i only want to upload .xlsx and .xls files? i commented out the parts i think need to be changed, but i did not found any concrete examples. Can someone help? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
🤖 Salut, Pentru a modifica codul existent pentru a încărca fișiere .xlsx și .xls în loc de fișiere .csv, poți utiliza clasa from typing import Any, List, Optional, Union
from langchain.agents.agent import AgentExecutor
from langchain.agents.agent_toolkits.pandas.base import create_pandas_dataframe_agent
from langchain.schema.language_model import BaseLanguageModel
from langchain.document_loaders.excel import UnstructuredExcelLoader
def create_excel_agent(
llm: BaseLanguageModel,
path: Union[str, List[str]],
pandas_kwargs: Optional[dict] = None,
**kwargs: Any,
) -> AgentExecutor:
"""Create excel agent by loading to a dataframe and using pandas agent."""
try:
import pandas as pd
except ImportError:
raise ImportError(
"pandas package not found, please install with `pip install pandas`"
)
_kwargs = pandas_kwargs or {}
if isinstance(path, str):
loader = UnstructuredExcelLoader(path, mode="elements")
df = pd.DataFrame(loader.load())
elif isinstance(path, list):
df = []
for item in path:
if not isinstance(item, str):
raise ValueError(f"Expected str, got {type(path)}")
loader = UnstructuredExcelLoader(item, mode="elements")
df.append(pd.DataFrame(loader.load()))
else:
raise ValueError(f"Expected str or list, got {type(path)}")
return create_pandas_dataframe_agent(llm, df, **kwargs) În acest cod, funcția Sper că acest lucru te ajută! Dacă ai alte întrebări, nu ezita să întrebi. Sources
This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research. Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant. If you want to continue the conversation, start your reply with @dosu-bot. |
Beta Was this translation helpful? Give feedback.
🤖
Salut,
Pentru a modifica codul existent pentru a încărca fișiere .xlsx și .xls în loc de fișiere .csv, poți utiliza clasa
UnstructuredExcelLoader
din modulullangchain.document_loaders.excel
. Iată codul modificat: