Ejemplo n.º 1
0
    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))
Ejemplo n.º 2
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)