pandas.DataFrame.to_orc#
- DataFrame.to_orc(path=None, *, engine='pyarrow', index=None, engine_kwargs=None)[源代码][源代码]#
将一个 DataFrame 写入优化行列 (ORC) 格式。
Added in version 1.5.0.
- 参数:
- 路径str, 类文件对象或 None, 默认 None
如果是一个字符串,它将在写入分区数据集时用作根目录路径。通过类文件对象,我们指的是具有 write() 方法的对象,例如文件句柄(例如通过内置的 open 函数)。如果路径为 None,则返回一个字节对象。
- 引擎{‘pyarrow’},默认 ‘pyarrow’
要使用的 ORC 库。
- 索引bool, 可选
如果
True
,在文件输出中包含数据框的索引。如果False
,它们将不会写入文件。如果None
,类似于infer
数据框的索引将会被保存。然而,不是作为值保存,RangeIndex 将作为范围存储在元数据中,这样不会占用太多空间并且更快。其他索引将作为列包含在文件输出中。- engine_kwargsdict[str, Any] 或 None, 默认 None
传递给
pyarrow.orc.write_table()
的额外关键字参数。
- 返回:
- 如果没有提供
path
参数,则返回字节,否则返回 None 如果未指定
path
,则为包含 DataFrame 数据的字节对象,否则为 None。
- 如果没有提供
- 引发:
- NotImplementedError
一个或多个列的数据类型是类别、无符号整数、区间、周期或稀疏。
- ValueError
engine 不是 pyarrow。
参见
read_orc
读取一个 ORC 文件。
DataFrame.to_parquet
写入一个 parquet 文件。
DataFrame.to_csv
写一个csv文件。
DataFrame.to_sql
写入一个 sql 表。
DataFrame.to_hdf
写入 hdf。
备注
在 这里 找到更多关于 ORC 的信息。
此函数需要 pyarrow 库。
有关支持的数据类型,请参阅 Arrow 中支持的 ORC 功能。
当前,在将数据框转换为ORC文件时,日期时间列中的时区不会保留。
例子
>>> df = pd.DataFrame(data={"col1": [1, 2], "col2": [4, 3]}) >>> df.to_orc("df.orc") >>> pd.read_orc("df.orc") col1 col2 0 1 4 1 2 3
如果你想获取一个指向orc内容的缓冲区,你可以将其写入io.BytesIO
>>> import io >>> b = io.BytesIO(df.to_orc()) >>> b.seek(0) 0 >>> content = b.read()