You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This package provides load and save support for Feather files under the FileIO.jl package.
Installation
Use Pkg.add("FeatherFiles") in Julia to install FeatherFiles and its dependencies.
Usage
Load a feather file
To read a feather file into a DataFrame, use the following julia code:
using FeatherFiles, DataFrames
df =DataFrame(load("data.feather"))
The call to load returns a struct that is an IterableTable.jl, so it can be passed to any function that can handle iterable tables, i.e. all the sinks in IterableTable.jl. Here are some examples of materializing a feather file into data structures that are not a DataFrame:
using FeatherFiles, DataTables, IndexedTables, TimeSeries, Temporal, Gadfly
# Load into a DataTable
dt =DataTable(load("data.feather"))
# Load into an IndexedTable
it =IndexedTable(load("data.feather"))
# Load into a TimeArray
ta =TimeArray(load("data.feather"))
# Load into a TS
ts =TS(load("data.feather"))
# Plot directly with Gadflyplot(load("data.feather"), x=:a, y=:b, Geom.line)
Save a feather file
The following code saves any iterable table as a feather file:
using FeatherFiles
save("output.feather", it)
This will work as long as it is any of the types supported as sources in IterableTables.jl.
Using the pipe syntax
Both load and save also support the pipe syntax. For example, to load a feather file into a DataFrame, one can use the following code:
using FeatherFiles, DataFrame
df =load("data.feather") |> DataFrame
To save an iterable table, one can use the following form:
using FeatherFiles, DataFrame
df =# Aquire a DataFrame somehow
df |>save("output.feather")
The pipe syntax is especially useful when combining it with Query.jl queries, for example one can easily load a feather file, pipe it into a query, then pipe it to the save function to store the results in a new file.