Frames

Data frames For working with tabular data files

Version on this page:0.2.1.1
LTS Haskell 22.14:0.7.4.2
Stackage Nightly 2024-03-28:0.7.4.2
Latest on Hackage:0.7.4.2

See all snapshots Frames appears in

BSD-3-Clause licensed by Anthony Cowley
Maintained by [email protected]
This version can be pinned in stack with:Frames-0.2.1.1@sha256:09c17eccbf68c7a4a443e7560ced7877e82a60cd41e7f7fccd3385ef60f15b56,7086

User-friendly, type safe, runtime efficient tooling for working with tabular data deserialized from comma-separated values (CSV) files. The type of each row of data is inferred from data, which can then be streamed from disk, or worked with in memory.

Changes

0.2.1

  • Refactored to use the CoRec type provided by vinyl >= 0.6.0

  • Fixed bug in typing mostly-numeric columns Such columns must be represented as Text. Previously, we strove a bit too hard to avoid falling back to Text resulting in dropping rows containing non-numeric values for columns we crammed into a numeric type.

  • Minor optimization of CSV parsing In particular, dealing with RFC4180 style quoting

  • GHC-8.2.1 compatibility

0.1.10

  • Added CSV output functions: produceCSV and writeCSV
  • Added an Eq instance for the Frame type

0.1.9

Fixed column type inference bug that led the inferencer to prefer Bool too strongly.

This was fallout from typing columns whose values are all 0 or 1 as Bool.

0.1.6

Re-export Frames.CSV.declareColumn from Frames. This makes it much easier to manually define column types.

0.1.4

Use microlens instead of lens-family-core for demos.

0.1.3

GHC-8.0.1 compatibility

0.1.2.1

Improved documentation based on suggestions by Alexander Kjeldaas

0.1.2

Fixed bug in Monoid instance of Frame (@dalejordan)

0.1.1.0

Added frameConsA, frameSnoc, and RecordColumns to help with changing row types.

0.1.0.0

Initial version pushed to hackage.