Metadata-Version: 2.1
Name: keboola.csvwriter
Version: 1.0.1
Summary:  ElasticDictWriter module based on Python csv package ensuring consistent header in the final CSV.
Home-page: https://bitbucket.org/kds_consulting_team/python-csv-writer/src/master/
Author: Keboola Component Factory Team
Author-email: support@keboola.com
License: UNKNOWN
Project-URL: Documentation, https://htmlpreview.github.io/?https://bitbucket.org/kds_consulting_team/python-csv-writer/raw/92caae145a6eb38f0615c98620803505aee4ec88/docs/api-html/keboola/csvwriter/core.html
Description: # CSV ElasticDictWriter
        
        
        DictWriter, built on top of csv.DictWriter, that supports automatic extension of headers according to what data it receives.
        The result file always has a complete header (as defined by fieldnames) or it is extended if some new columns
         are introduced in the data. It always produces a valid CSV (missing columns are filled with blanks).
         It uses a series of cached writers / files that are merged into a single one with final set of columns on close()
        
        
        ## Installation 
         
        The package may be installed via PIP:
         
        ```
        pip install keboola.csvwriter
        ```
        
        
        
        **NOTE:** If not using "with" statement, close() method must be called at the end of processing to get the result.
        
        **NOTE:** Does not keep the order of rows added - the rows containing additional headers always come first:
        
        ### Example:
        
        ```python
        from keboola.csvwriter import ElasticDictWriter
        file = '/test/test.csv'
        wr = ElasticDictWriter(file, ["a", "b" , "c"])
        wr.writeheader()
        wr.writerow({"a":1,"b":2})
        wr.writerow({"b":2, "d":4})
        wr.close()
        
        ```
        
        leads to CSV with following content:
           
        |a  |b  |c  |d  |
        |---|---|---|---|
        |   |2  |   |4  |
        |1  | 2 |   |   |
        
        May be also used with `with` statement to automatically close once finished:
        
        ```python
        from keboola.csvwriter import ElasticDictWriter
        file = '/test/test.csv'
        with ElasticDictWriter(file, ["a", "b" , "c"]) as wr:
            wr.writeheader()
            wr.writerow({"a":1,"b":2})
            wr.writerow({"b":2, "d":4})
        
        # get final headers
        final_header = wr.fieldnames
        ```
        
        **NOTE:** The final column list is stored in `fieldnames` property:
        
        ```python
        columns = writer.fieldnames
        ```
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Education
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
