Saving multiple sheets as CSV format
================================================================================

.. testcode::
   :hide:

    >>> from pyexcel_io._compact import OrderedDict, StringIO


Write to multiple sibling csv files
------------------------------------------------------------------------------


Here's the sample code to write a dictionary to multiple sibling csv files::

    >>> from pyexcel_io import save_data
    >>> data = OrderedDict() # from collections import OrderedDict
    >>> data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})
    >>> data.update({"Sheet 2": [["row 1", "row 2", "row 3"]]})
    >>> save_data("your_file.csv", data)


Read from multiple sibling csv files
--------------------------------------------------------------------------------


Here's the sample code::

    >>> from pyexcel_io import get_data
    >>> data = get_data("your_file.csv")
    >>> import json
    >>> print(json.dumps(data))
    {"Sheet 1": [[1, 2, 3], [4, 5, 6]], "Sheet 2": [["row 1", "row 2", "row 3"]]}

Here is what you would get::

    >>> import glob
    >>> list = glob.glob("your_file__*.csv")
    >>> json.dumps(sorted(list))
    '["your_file__Sheet 1__0.csv", "your_file__Sheet 2__1.csv"]'
    

Write multiple sibling csv files  to memory
--------------------------------------------------------------------------------

Here's the sample code to write a dictionary of named two dimensional array
into memory::

    >>> from pyexcel_io import save_data
    >>> data = OrderedDict()
    >>> data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})
    >>> data.update({"Sheet 2": [[7, 8, 9], [10, 11, 12]]})
    >>> io = StringIO()
    >>> save_data(io, data)
    >>> # do something with the io
    >>> # In reality, you might give it to your http response
    >>> # object for downloading

    
Read multiple sibling csv files from memory
--------------------------------------------------------------------------------

Continue from previous example::

    >>> # This is just an illustration
    >>> # In reality, you might deal with csv file upload
    >>> # where you will read from requests.FILES['YOUR_XL_FILE']
    >>> data = get_data(io, multiple_sheets=True)
    >>> print(json.dumps(data))
    {"Sheet 1": [[1, 2, 3], [4, 5, 6]], "Sheet 2": [[7, 8, 9], [10, 11, 12]]}


.. testcode::
   :hide:

   >>> import os
   >>> if os.path.exists("your_file.csv"):
   ...     os.unlink("your_file.csv")
   >>> os.unlink("your_file__Sheet 1__0.csv")
   >>> os.unlink("your_file__Sheet 2__1.csv")
   
