def import_kaisai_df(self, table_name, race_df, target_date): """ KAISAI_KEYをIDとしたテーブルのインサート :param str table_name: :param dataframe race_df: :param str target_date: :return: """ create_sql = """if object_id('""" + table_name + """') is null CREATE TABLE """ + table_name + """( [KAISAI_KEY] nvarchar(3) """ columns = ['%s'] for column_name, item in race_df.iteritems(): if column_name != "KAISAI_KEY": create_sql += ", [" + mu.escape_create_text( column_name) + "] " + mu.convert_python_to_sql_type( item.dtype) columns.append('%s') create_sql += ", [target_date] nvarchar(6));" columns.append('%s') race_df['target_date'] = target_date # SQLの実行 self.cur.execute(create_sql) self.proc_insert_by_target_date(target_date, table_name, columns, race_df.fillna(0))
def import_raceuma_df(self, table_name, race_df, target_date): """ RACE_KEYとUMABANをIDとしたテーブルのインサート :param str table_name: :param dataframe race_df: :param str target_date: :return: """ create_sql = """if object_id('""" + table_name + """') is null CREATE TABLE """ + table_name + """( RACE_KEY nvarchar(8) , UMABAN nvarchar(2)""" columns = ['%s', '%s'] for column_name, item in race_df.iteritems(): if not (column_name == "RACE_KEY" or column_name == "UMABAN" or column_name == "target_date"): create_sql += ', ' + \ mu.escape_create_text( column_name) + ' ' + mu.convert_python_to_sql_type(item.dtype) columns.append('%s') create_sql += ", target_date nvarchar(6));" columns.append('%s') race_df['target_date'] = target_date # SQLの実行 self.cur.execute(create_sql) self.proc_insert_by_target_date(target_date, table_name, columns, race_df)