spreadsheet: Read and write spreadsheets from and to CSV files in a lazy way

[ bsd3, data, library, text ] [ Propose Tags ]

Read and write spreadsheets from and to files containing comma separated values (CSV) in a lazy way. See also the csv package http://hackage.haskell.org/package/csv and http://www.xoltar.org/languages/haskell.html, http://www.xoltar.org/languages/haskell/CSV.hs. Both do not parse lazy. Reading from other source than plain Strings could be easily added.

If you install this package by

cabal install -fbuildExamples

then an example program is compiled and installed, too. This program fills a template text using data from a CSV file. E.g. given a file template.txt with content


and names.csv with content


the call

csvreplace template.txt <names.csv

produces the output

Name: Georg Cantor
Born: 1845
Name: Haskell Curry
Born: 1900
Name: Ada Lovelace
Born: 1815

You may also generate one file per CSV row in the following manner:

csvreplace --multifile=FIRSTNAME-SURNAME.txt template.txt <names.csv

For similar (non-Haskell) programs see cut, csvfix, csvtool.

Versions 0.1, 0.1.1,, 0.1.2,, 0.1.3,,,,,,,
Dependencies base (>=1.0 && <5), bytestring (>=0.9 && <0.11), explicit-exception (==0.1.*), transformers (>=0.2 && <0.4), utility-ht (>=0.0.2 && <0.1) [details]
License BSD-3-Clause
Author Henning Thielemann <haskell@henning-thielemann.de>
Maintainer Henning Thielemann <haskell@henning-thielemann.de>
Category Data, Text
Home page http://www.haskell.org/haskellwiki/Spreadsheet
Source repo head: darcs get http://code.haskell.org/~thielema/spreadsheet/
this: darcs get http://code.haskell.org/~thielema/spreadsheet/ --tag
Uploaded by HenningThielemann at Mon Jul 16 14:53:46 UTC 2012
Distributions LTSHaskell:, NixOS:, Stackage:, openSUSE:
Executables csvreplace
Downloads 4106 total (39 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





Build example executables


Choose the new smaller, split-up base package.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees