docs: port data import methods to readthedocs
parent
64b3440658
commit
ec767110a6
|
|
@ -1,2 +1,35 @@
|
||||||
csv
|
csv
|
||||||
---
|
===
|
||||||
|
|
||||||
|
Pulls CSV data from .csv files into a hash of arrays keyed by the headers. First row is assumed to be the header row.
|
||||||
|
|
||||||
|
Parsing uses Ruby's CSV, with options ``{headers: true, converters: :numeric}``
|
||||||
|
http://www.ruby-doc.org/stdlib-2.0/libdoc/csv/rdoc/CSV.html
|
||||||
|
|
||||||
|
The ``csv`` method is a member of ``Squib::Deck``, but it is also available outside of the Deck DSL with ``Squib.csv()``. This allows a construction like::
|
||||||
|
|
||||||
|
data = Squib.csv file: 'data.csv'
|
||||||
|
Squib::Deck.new(cards: data['name'].size) do
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Options
|
||||||
|
-------
|
||||||
|
|
||||||
|
file
|
||||||
|
default: ``'deck.csv'``
|
||||||
|
|
||||||
|
the CSV-formatted file to open. Opens relative to the current directory.
|
||||||
|
|
||||||
|
strip
|
||||||
|
default: ``true``
|
||||||
|
|
||||||
|
When ``true``, strips leading and trailing whitespace on values and headers
|
||||||
|
|
||||||
|
explode
|
||||||
|
default: ``'qty'``
|
||||||
|
|
||||||
|
Quantity explosion will be applied to the column this name. For example, rows in the csv with a ``'qty'`` of 3 will be duplicated 3 times.
|
||||||
|
|
||||||
|
Examples
|
||||||
|
--------
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
ellipse
|
ellipse
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Draw an ellipse at the given coordinates.
|
Draw an ellipse at the given coordinates. An ellipse is an oval that is defined by a bounding rectangle. To draw a circle, see :doc:`circle`.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,6 @@ Options
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
||||||
definition
|
|
||||||
This is a definition of something.
|
|
||||||
And some more stuff.
|
|
||||||
|
|
||||||
x
|
|
||||||
The x-coordinate of the upper-left corner of the text box. Supports :doc:`/units`
|
|
||||||
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,37 @@
|
||||||
xlsx
|
xlsx
|
||||||
----
|
====
|
||||||
|
|
||||||
|
Pulls ExcelX data from .xlsx files into a hash of arrays keyed by the headers. First row is assumed to be the header row.
|
||||||
|
|
||||||
|
The ``csv`` method is a member of ``Squib::Deck``, but it is also available outside of the Deck DSL with ``Squib.csv()``. This allows a construction like::
|
||||||
|
|
||||||
|
data = Squib.xlsx file: 'data.xlsx'
|
||||||
|
Squib::Deck.new(cards: data['name'].size) do
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Options
|
||||||
|
-------
|
||||||
|
|
||||||
|
file
|
||||||
|
default: ``'deck.xlsx'``
|
||||||
|
|
||||||
|
the xlsx-formatted file to open. Opens relative to the current directory.
|
||||||
|
|
||||||
|
sheet
|
||||||
|
default: ``0``
|
||||||
|
|
||||||
|
The zero-based index of the sheet from which to read.
|
||||||
|
|
||||||
|
strip
|
||||||
|
default: ``true``
|
||||||
|
|
||||||
|
When ``true``, strips leading and trailing whitespace on values and headers
|
||||||
|
|
||||||
|
explode
|
||||||
|
default: ``'qty'``
|
||||||
|
|
||||||
|
Quantity explosion will be applied to the column this name. For example, rows in the csv with a ``'qty'`` of 3 will be duplicated 3 times.
|
||||||
|
|
||||||
|
Examples
|
||||||
|
--------
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,7 @@ module Squib
|
||||||
end
|
end
|
||||||
module_function :check_duplicate_csv_headers
|
module_function :check_duplicate_csv_headers
|
||||||
|
|
||||||
|
# @api private
|
||||||
def explode_quantities(data, qty)
|
def explode_quantities(data, qty)
|
||||||
return data unless data.key? qty.to_s.strip
|
return data unless data.key? qty.to_s.strip
|
||||||
qtys = data[qty]
|
qtys = data[qty]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue