polars.read_ipc#
- polars.read_ipc(
- source: str | BinaryIO | BytesIO | Path | bytes,
- *,
- columns: list[int] | list[str] | None = None,
- n_rows: int | None = None,
- use_pyarrow: bool = False,
- memory_map: bool = True,
- storage_options: dict[str, Any] | None = None,
- row_count_name: str | None = None,
- row_count_offset: int = 0,
- rechunk: bool = True,
Read into a DataFrame from Arrow IPC (Feather v2) file.
- Parameters:
- source
Path to a file or a file-like object (by file-like object, we refer to objects that have a
read()
method, such as a file handler (e.g. via builtinopen
function) orBytesIO
). Iffsspec
is installed, it will be used to open remote files.- columns
Columns to select. Accepts a list of column indices (starting at zero) or a list of column names.
- n_rows
Stop reading from IPC file after reading
n_rows
. Only valid whenuse_pyarrow=False
.- use_pyarrow
Use pyarrow or the native Rust reader.
- memory_map
Try to memory map the file. This can greatly improve performance on repeated queries as the OS may cache pages. Only uncompressed IPC files can be memory mapped.
- storage_options
Extra options that make sense for
fsspec.open()
or a particular storage connection, e.g. host, port, username, password, etc.- row_count_name
If not None, this will insert a row count column with give name into the DataFrame
- row_count_offset
Offset to start the row_count column (only use if the name is set)
- rechunk
Make sure that all data is contiguous.
- Returns:
- DataFrame
Warning
If
memory_map
is set, the bytes on disk are mapped 1:1 to memory. That means that you cannot write to the same filename. E.g.pl.read_ipc("my_file.arrow").write_ipc("my_file.arrow")
will fail.