def make_insert_statement(self): sql_table = sql.make_table(self.csv_table, "csvsql") statement = sql.make_insert_statement(sql_table, self.csv_table._prepare_rows_for_serialization()[0]) self.assertEqual( statement, u"INSERT INTO test_table (text, integer, datetime, empty_column) VALUES ('Chicago Reader', 40, '2008-01-01T04:40:00', NULL);", )
def make_insert_statement(self): sql_table = sql.make_table(self.csv_table, 'csvsql') statement = sql.make_insert_statement( sql_table, self.csv_table._prepare_rows_for_serialization()[0]) self.assertEqual( statement, u'INSERT INTO test_table (text, integer, datetime, empty_column) VALUES (\'Chicago Reader\', 40, \'2008-01-01T04:40:00\', NULL);' )
def main(self): if self.args.file.name != "<stdin>": # Use filename as table name table_name = os.path.splitext(os.path.split(self.args.file.name)[1])[0] else: table_name = "csvsql_table" csv_table = table.Table.from_csv( self.args.file, name=table_name, snifflimit=self.args.snifflimit, **self.reader_kwargs ) sql_table = sql.make_table(csv_table) self.output_file.write( (u"%s\n" % sql.make_create_table_statement(sql_table, dialect=self.args.dialect)).encode("utf-8") ) if self.args.inserts: self.output_file.write("\n") for row in csv_table.to_rows(serialize_dates=True): self.output_file.write( (u"%s\n" % sql.make_insert_statement(sql_table, row, dialect=self.args.dialect)).encode("utf-8") )