pandas.read_pickle — pandas 3.0.0.dev0+2103.g41968a550a documentation (original) (raw)

pandas.read_pickle(filepath_or_buffer, compression='infer', storage_options=None)[source]#

Load pickled pandas object (or any object) from file and return unpickled object.

Warning

Loading pickled data received from untrusted sources can be unsafe. See here.

Parameters:

filepath_or_bufferstr, path object, or file-like object

String, path object (implementing os.PathLike[str]), or file-like object implementing a binary readlines() function. Also accepts URL. URL is not limited to S3 and GCS.

compressionstr or dict, default ‘infer’

For on-the-fly decompression of on-disk data. If ‘infer’ and ‘filepath_or_buffer’ is path-like, then detect compression from the following extensions: ‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’ or ‘.tar.bz2’ (otherwise no compression). If using ‘zip’ or ‘tar’, the ZIP file must contain only one data file to be read in. Set to None for no decompression. Can also be a dict with key 'method' set to one of {'zip', 'gzip', 'bz2', 'zstd', 'xz', 'tar'} and other key-value pairs are forwarded tozipfile.ZipFile, gzip.GzipFile,bz2.BZ2File, zstandard.ZstdDecompressor, lzma.LZMAFile ortarfile.TarFile, respectively. As an example, the following could be passed for Zstandard decompression using a custom compression dictionary:compression={'method': 'zstd', 'dict_data': my_compression_dict}.

Added in version 1.5.0: Added support for .tar files.

Changed in version 1.4.0: Zstandard support.

storage_optionsdict, optional

Extra options that make sense for a particular storage connection, e.g. host, port, username, password, etc. For HTTP(S) URLs the key-value pairs are forwarded to urllib.request.Request as header options. For other URLs (e.g. starting with “s3://”, and “gcs://”) the key-value pairs are forwarded to fsspec.open. Please see fsspec and urllib for more details, and for more examples on storage options refer here.

Returns:

object

The unpickled pandas object (or any object) that was stored in file.

Notes

read_pickle is only guaranteed to be backwards compatible to pandas 1.0 provided the object was serialized with to_pickle.

Examples

original_df = pd.DataFrame( ... {"foo": range(5), "bar": range(5, 10)} ... )
original_df
foo bar 0 0 5 1 1 6 2 2 7 3 3 8 4 4 9 pd.to_pickle(original_df, "./dummy.pkl")

unpickled_df = pd.read_pickle("./dummy.pkl")
unpickled_df
foo bar 0 0 5 1 1 6 2 2 7 3 3 8 4 4 9