
    ihV                     \    d dl mZmZmZ d dlmZ d dlmZ  G d de      Z G d de      Z	y)	    )AnyIteratorLiteral)Document)
BaseLoaderc                   4    e Zd ZdddedefdZdee   fdZy)	BaseDataFrameLoadertextpage_content_column
data_framer   c                     || _         || _        y)zInitialize with dataframe object.

        Args:
            data_frame: DataFrame object.
            page_content_column: Name of the column containing the page content.
              Defaults to "text".
        N)r   r   )selfr   r   s      l/var/www/html/dev/engine/venv/lib/python3.12/site-packages/langchain_community/document_loaders/dataframe.py__init__zBaseDataFrameLoader.__init__	   s     %#6     returnc              #      K   | j                   j                         D ]?  \  }}|j                         }|j                  | j                        }t        ||       A yw)z!Lazy load records from dataframe.)page_contentmetadataN)r   iterrowsto_dictpopr   r   )r   _rowr   r
   s        r   	lazy_loadzBaseDataFrameLoader.lazy_load   sV      oo..0 	AFAs{{}H<< 8 89Dx@@	As   AA N)	__name__
__module____qualname__r   strr   r   r   r    r   r   r	   r	      s+    FL 	73 	7 	7A8H- Ar   r	   c                   <     e Zd ZdZ	 	 ddededed   f fdZ xZS )DataFrameLoaderzLoad `Pandas` DataFrame.r   r   engine)pandasmodinc                    	 |dk(  rddl }n|dk(  rddlm } nt        d| d      t	        ||j
                        st        dt        |             t        | !  ||	       y# t        $ r}t        d      |d}~ww xY w)
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%   modin.pandas
ValueErrorImportError
isinstance	DataFrametypesuperr   )r   r   r   r$   pde	__class__s         r   r   zDataFrameLoader.__init__    s    	!#7") )&1WX  *bll3@jAQ@RS  	9LM  	T	s   %A' '	B0A<<B)r
   r%   )	r   r   r   __doc__r   r    r   r   __classcell__)r1   s   @r   r#   r#      s?    "
 $*-5	NN !N )*	N Nr   r#   N)
typingr   r   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   r	   r#   r!   r   r   <module>r7      s.    ) ) - @A* A*"N) "Nr   