import pymysql kv = { 'id': 118, 'version': 8, 'access': 53, 'activity_drs': 15, 'activity_id': 15, 'cf_standard_name': 53, 'citation_url': 147, 'data_node': 25, 'data_specs_version': 12, 'dataset_id_template_': 141, 'datetime_start': -3, 'datetime_stop': -3, 'directory_format_template_': 162, 'experiment_id': 14, 'experiment_title': 45, 'frequency': 7, 'further_info_url': 103, 'geo_units': 17, 'grid': 164, 'grid_label': 8, 'index_node': 22, 'instance_id': 98, 'institution_id': 23, 'latest': 0, 'master_id': 88, 'member_id': 15, 'mip_era': 9, 'model_cohort': 14, 'nominal_resolution': 14, 'north_degrees': -2, 'number_of_aggregations': -1, 'number_of_files': -1, 'pid': 53, 'product': 16, 'project': 9, 'realm': 10, 'replica': 0, 'size': -1, 'source_id': 21, 'source_type': 47, 'south_degrees': -2, 'sub_experiment_id': 8, 'table_id': 9, 'title': 88, 'type': 7, 'url': 473, 'variable': 15, 'variable_id': 15, 'variable_long_name': 58, 'variable_units': 14, 'variant_label': 15, 'xlink': 248, '_version_': -1, 'retracted': 0, '_timestamp': -3, 'score': -2, 'east_degrees': -2, 'geo': 102, 'height_bottom': -2, 'height_top': -2, 'height_units': 11, 'west_degrees': -2, 'branch_method': 12, 'creation_date': 20, 'short_description': 42, 'datetime_end': 20, 'metadata_format': 7 } if __name__ == "__main__": db = pymysql.connect(host='39.101.194.63', port=23306, user='root', passwd='passok123A', db='nfm', charset='utf8mb4') cursor = db.cursor() db_keys = [] for key in kv: _length = kv[key] _type = 'varchar({})'.format(_length) if _length == -3: _type = 'datetime' if _length == -2: _type = 'float' if _length == -1: _type = 'int' if _length == 0: _type = 'tinyint' db_keys.append("{} {} null".format(key, _type)) SQL_CREATE = 'create table jd_data.cmip6_search_result ({});'.format(", ".join(db_keys)) cursor.execute(SQL_CREATE) db.commit() db.close()