'Initializer.
Args:
columns: \'from_header\' or blank
column_list: overrides columns specifically.
skip_import_header_row: True to ignore the header line on import.
Defaults False, except must be True if columns=from_header.
print_export_header_row: True to print a header line on export.
Defaults to False except if columns=from_header.
csv_encoding: encoding of the file.
import_options: Other kwargs to pass in, like "dialect".
export_options: Other kwargs to pass in, like "dialect".'

def __init__(self, columns, column_list, skip_import_header_row, print_export_header_row, csv_encoding=None, import_options=None, export_options=None):

    self.columns = columns
    self.from_header = (columns == 'from_header')
    self.column_list = column_list
    self.skip_import_header_row = skip_import_header_row
    self.print_export_header_row = print_export_header_row
    self.csv_encoding = csv_encoding
    self.dict_generator = None
    self.output_stream = None
    self.csv_writer = None
    self.bulkload_state = None
    self.import_options = (import_options or {})
    self.export_options = (export_options or {})
