, database, table, api_key=None, client=None, max_errors=None, existing_table_rows='fail', distkey=None, sortkey1=None, sortkey2=None, delimiter=', ', headers=None, credential_id=None, polling_interval=None, archive=False, hidden=True)[source]

Upload the contents of a local CSV file to Civis.


filename : str

Upload the contents of this file.

database : str or int

Upload data into this database. Can be the database name or ID.

table : str

The schema and table you want to upload to. E.g., 'scratch.table'.

api_key : DEPRECATED str, optional

Your Civis API key. If not given, the CIVIS_API_KEY environment variable will be used.

client : civis.APIClient, optional

If not provided, an civis.APIClient object will be created from the CIVIS_API_KEY.

max_errors : int, optional

The maximum number of rows with errors to remove from the import before failing.

existing_table_rows : str, optional

The behaviour if a table with the requested name already exists. One of 'fail', 'truncate', 'append' or 'drop'. Defaults to 'fail'.

distkey : str, optional

The column to use as the distkey for the table.

sortkey1 : str, optional

The column to use as the sortkey for the table.

sortkey2 : str, optional

The second column in a compound sortkey for the table.

delimiter : string, optional

The column delimiter. One of ',', '\t' or '|'.

headers : bool, optional

Whether or not the first row of the file should be treated as headers. The default, None, attempts to autodetect whether or not the first row contains headers.

credential_id : str or int, optional

The ID of the database credential. If None, the default credential will be used.

polling_interval : int or float, optional

Number of seconds to wait between checks for job completion.

archive : bool, optional (deprecated)

If True, archive the import job as soon as it completes.

hidden : bool, optional

If True (the default), this job will not appear in the Civis UI.


results : CivisFuture

A CivisFuture object.


This reads the contents of filename into memory.


>>> with open('input_file.csv', 'w') as _input:
...     _input.write('a,b,c\n1,2,3')
>>> fut ='input_file.csv',
...                             'my-database',
...                             'scratch.my_data')
>>> fut.result()