a
    bgV                     @   sP   d dl mZmZmZ d dlmZ d dlmZ G dd deZG dd deZ	dS )	    )AnyIteratorLiteral)Document)
BaseLoaderc                   @   s4   e Zd ZddeedddZee dddZd	S )
BaseDataFrameLoadertextpage_content_column
data_framer
   c                C   s   || _ || _dS )zInitialize with dataframe object.

        Args:
            data_frame: DataFrame object.
            page_content_column: Name of the column containing the page content.
              Defaults to "text".
        Nr   )selfr   r
    r   |/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/document_loaders/dataframe.py__init__	   s    zBaseDataFrameLoader.__init__)returnc                 c   s:   | j  D ]*\}}| }|| j}t||dV  q
dS )z!Lazy load records from dataframe.)Zpage_contentmetadataN)r   Ziterrowsto_dictpopr
   r   )r   _rowr   r   r   r   r   	lazy_load   s    zBaseDataFrameLoader.lazy_loadN)	__name__
__module____qualname__r   strr   r   r   r   r   r   r   r   r      s   r   c                       s0   e Zd ZdZdeeed d fddZ  ZS )	DataFrameLoaderzLoad `Pandas` DataFrame.r   pandas)r   modin)r   r
   enginec              
      s   z<|dkrddl }n&|dkr*ddlm } ntd| dW n. tyj } ztd|W Y d}~n
d}~0 0 t||jstdt| t j||d	 dS )
zInitialize with dataframe object.

        Args:
            data_frame: Pandas DataFrame object.
            page_content_column: Name of the column containing the page content.
              Defaults to "text".
        r   r   Nr   zUnsupported engine z&. Must be one of 'pandas', or 'modin'.zBUnable to import pandas, please install with `pip install pandas`.z.Expected data_frame to be a pd.DataFrame, got r	   )	r   Zmodin.pandas
ValueErrorImportError
isinstanceZ	DataFrametypesuperr   )r   r   r
   r   pde	__class__r   r   r       s&    

zDataFrameLoader.__init__)r   r   )	r   r   r   __doc__r   r   r   r   __classcell__r   r   r'   r   r      s     r   N)
typingr   r   r   Zlangchain_core.documentsr   Z)langchain_community.document_loaders.baser   r   r   r   r   r   r   <module>   s   