def list_dict_set(list_dict_data):
"""
列表内字典去重
:param list_dict_data:
:return:
"""
run_function = lambda x, y: x if y in x else x +[y]return reduce(run_function,[[],]+ list_dict_data)
Python插入数据库方法
def database_insert(sql,value):
"""
插入数据库方法
:param sql:replace into 表名(字段1,字段2)value(%s,%s)
:param value:[(1,2),(2,3)]
:return:
"""
db = pymysql.connect(host='',user='', password=,
port=3306, db='data_center')cursor= db.cursor()
try:
cursor.executemany(sql,value)
db.commit()print('插入数据成功')except Exception as e:
db.rollback()print("插入数据失败", e)
finally:
db.close()
Python字典合并
def Merge(dict1, dict2):
"""
字典合并
:param dict1:
:param dict2:
:return:
"""(dict2.update(dict1))
d = dict2
return d
Python字典 按照key排序
def dict_sort(params: dict):
"""
字典key排序
"""
param = dict()
params = sorted(params.items(),key=lambda x: x[0])for k, v in params:
param[k]= v
return param
# 建立分区表CREATETABLE`表名`(`updatetime`datetimenotnull,`itemid`bigintNULLDEFAULTNULL,`shopid`varchar(20)CHARACTERSET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOTNULL,`id`intNOTNULLAUTO_INCREMENT,PRIMARYKEY(`id`,updatetime)USINGBTREE,INDEX`idx_updatetime`(`updatetime`)USINGBTREE,INDEX`idx_itemid`(`itemid`)USINGBTREE)ENGINE=InnoDBPARTITIONBY RANGE(YEAR(updatetime))(partition p2021 values less than (2022),partition p2022 values less than (2023),partition p2023 values less than (2024),partition p2024 values less than (2025),
-- 查看分区表总览 SELECT table_name,partition_name,partition_description,table_rows
FROM information_schema.PARTITIONS
WHERE table_name='表名';