如何从 R 箭头中的羽毛文件中读取列名和元数据?
How to read column names and metadata from feather files in R arrow?
(现已被取代)独立 feather library for R 有一个名为 feather_metadata()
的函数,允许从磁盘上的羽毛文件中读取列名称和类型,而无需打开它们。
当使用 read_feather(path, columns = c(...))
在 R 中加载羽毛文件时,这仅对 select 特定列有用
现在羽毛格式是 arrow 库的一部分,feather_metadata()
不再包含。
在加载文件之前,arrow 中是否有等效函数来从 R 读取磁盘上的列名和文件类型?
在当前版本的 arrow R 包中,没有直接替代 feather::feather_metadata(path)
,但有两种解决方法可能对您有用:
如果您只需要列名(而不是数据类型),您可以这样做:
rf <- arrow::ReadableFile$create(path)
fr <- arrow::FeatherReader$create(rf)
names(fr)
如果需要列的数据类型,可以试试这个:
arrow::read_feather(path, as_data_frame = FALSE)
这会提供您正在寻找的输出,并且应该非常快(因为它 不会 将文件转换为 R 数据帧)但它确实读取完整的文件(或者至少它内存映射了完整的文件)所以如果你的 Feather 文件真的很大,你可能不想这样做。
(现已被取代)独立 feather library for R 有一个名为 feather_metadata()
的函数,允许从磁盘上的羽毛文件中读取列名称和类型,而无需打开它们。
当使用 read_feather(path, columns = c(...))
现在羽毛格式是 arrow 库的一部分,feather_metadata()
不再包含。
在加载文件之前,arrow 中是否有等效函数来从 R 读取磁盘上的列名和文件类型?
在当前版本的 arrow R 包中,没有直接替代 feather::feather_metadata(path)
,但有两种解决方法可能对您有用:
如果您只需要列名(而不是数据类型),您可以这样做:
rf <- arrow::ReadableFile$create(path) fr <- arrow::FeatherReader$create(rf) names(fr)
如果需要列的数据类型,可以试试这个:
arrow::read_feather(path, as_data_frame = FALSE)
这会提供您正在寻找的输出,并且应该非常快(因为它 不会 将文件转换为 R 数据帧)但它确实读取完整的文件(或者至少它内存映射了完整的文件)所以如果你的 Feather 文件真的很大,你可能不想这样做。