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,
) DataFrame[source]#

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 builtin open function) or BytesIO). If fsspec 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 when use_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.