
    j                        d dl mZ d dlmZ d dlZd dlmZ erd dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZ  G d	 d
          ZdS )    )annotations)TYPE_CHECKINGN)N_INFER_DEFAULT)Sequence)Path)	DataFrame)CsvEncodingPolarsDataType
SchemaDictc                  \    e Zd ZdZdddddddddddddeddd	dddddd
dddddd9d5Zd:d8ZdS );BatchedCsvReaderzRead a CSV file in batches.TN,"r   FiP  utf8
)
has_headercolumns	separatorcomment_prefix
quote_char	skip_rows
skip_linesschema_overridesnull_valuesmissing_utf8_is_empty_stringignore_errorstry_parse_dates	n_threadsinfer_schema_length
batch_sizen_rowsencoding
low_memoryrechunkskip_rows_after_headerrow_index_namerow_index_offseteol_charnew_columnsraise_if_emptytruncate_ragged_linesdecimal_commasource
str | Pathr   boolr   $Sequence[int] | Sequence[str] | Noner   strr   
str | Noner   r   intr   r   ,SchemaDict | Sequence[PolarsDataType] | Noner   +str | Sequence[str] | dict[str, str] | Noner   r   r   r   
int | Noner   r    r!   r"   r	   r#   r$   r%   r&   r'   r(   r)   Sequence[str] | Noner*   r+   r,   returnNonec               J   t          j        di d|d|d|d|d|d|d|d|d	|d
|d|	d|d|d|d|
d|d|d|d|d|d|d|d|d|d|}||                    |          }|r|                                 |                    |          | _        d S )Nr   r   r   r!   r   r   r   r$   r"   r-   r   r#   r   r   r   r   r   r%   r&   r'   r(   r*   r+   r,   r)   )
chunk_size )plscan_csvselectcollect_schemacollect_batches_reader)selfr-   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   qs                                 a/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/polars/io/csv/batched_reader.py__init__zBatchedCsvReader.__init__   s   @ K 
 
 
 3 3
!z
 (-
 6	

  i
 "z
  i
 G
 X
 6
 .-
 "z
 *>
 "z
 $
  *F)E!
" ,O#
$ $:#9%
& *>'
( .-)
* X+
, *>-
. #8"7/
0 (-1
2 $3
8 !!A  	((J(??    nlist[DataFrame] | Nonec                    g }t          |          D ]D}	 | j                                        }||                    |           4# t          $ r Y  nw xY wt          |          dk    r|S dS )a  
        Read `n` batches from the reader.

        Parameters
        ----------
        n
            Number of chunks to fetch.

        Examples
        --------
        >>> reader = pl.read_csv_batched(
        ...     "./pdsh/tables_scale_100/lineitem.tbl",
        ...     separator="|",
        ...     try_parse_dates=True,
        ... )  # doctest: +SKIP
        >>> reader.next_batches(5)  # doctest: +SKIP

        Returns
        -------
        list of DataFrames
        Nr   )rangerB   __next__appendStopIterationlen)rC   rH   chunks_chunks        rE   next_batcheszBatchedCsvReader.next_batchesW   s    , q 	 	A--//$MM%(((     v;;??Mts   0A
AA):r-   r.   r   r/   r   r0   r   r1   r   r2   r   r2   r   r3   r   r3   r   r4   r   r5   r   r/   r   r/   r   r/   r   r6   r   r6   r    r3   r!   r6   r"   r	   r#   r/   r$   r/   r%   r3   r&   r2   r'   r3   r(   r1   r)   r7   r*   r/   r+   r/   r,   r/   r8   r9   )rH   r3   r8   rI   )__name__
__module____qualname____doc__r   rF   rS   r<   rG   rE   r   r      s        %%  8<%)!$IMCG-2# % $*9 ! & &'%) !,0#&+#=B@ B@ B@ B@ B@ B@H" " " " " "rG   r   )
__future__r   typingr   polarsr=   polars.datatypesr   collections.abcr   pathlibr   r   polars._typingr	   r
   r   r   r<   rG   rE   <module>r_      s    " " " " " "                 , , , , , , G((((((      FFFFFFFFFFi i i i i i i i i irG   