mdbq 3.2.10__tar.gz → 3.2.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mdbq-3.2.10 → mdbq-3.2.12}/PKG-INFO +1 -1
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/aggregation.py +113 -18
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/query_data.py +31 -32
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/mysql/mysql.py +365 -80
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-3.2.10 → mdbq-3.2.12}/setup.py +1 -1
- {mdbq-3.2.10 → mdbq-3.2.12}/README.txt +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/__version__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/mysql_types.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/query_data_bak.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/aggregation/query_data_bak20241124.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/bdup/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/bdup/bdup.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/clean/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/clean/clean_upload.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/clean/data_clean.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/company/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/company/copysh.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/config/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/config/get_myconf.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/config/myconfig.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/config/products.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/config/set_support.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/config/update_conf.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/dataframe/converter.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/log/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/log/mylogger.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/mongo/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/mongo/mongo.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/mysql/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/mysql/recheck_mysql.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/mysql/s_query.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/other/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/other/download_sku_picture.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/other/porxy.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/other/pov_city.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/other/sku_picture.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/other/ua_sj.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/pbix/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/pbix/refresh_all_old.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/req_post/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/req_post/req_tb.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/spider/__init__.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq/spider/aikucun.py +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-3.2.10 → mdbq-3.2.12}/setup.cfg +0 -0
@@ -52,6 +52,16 @@ if not username:
|
|
52
52
|
print(f'找不到主机:')
|
53
53
|
|
54
54
|
|
55
|
+
def get_encoding(path):
|
56
|
+
"""
|
57
|
+
获取文件的编码方式, 读取速度比较慢,非必要不要使用
|
58
|
+
"""
|
59
|
+
with open(path, 'rb') as f:
|
60
|
+
f1 = f.read()
|
61
|
+
encod = chardet.detect(f1).get('encoding')
|
62
|
+
return encod
|
63
|
+
|
64
|
+
|
55
65
|
class DatabaseUpdateBak:
|
56
66
|
"""
|
57
67
|
清洗文件,并入库,被 tg.py 调用
|
@@ -1236,20 +1246,22 @@ def one_file_to_mysql(file, db_name, table_name):
|
|
1236
1246
|
if file.endswith('.xlsx'):
|
1237
1247
|
df = pd.read_excel(file)
|
1238
1248
|
else:
|
1239
|
-
|
1249
|
+
encod = get_encoding(file)
|
1250
|
+
df = pd.read_csv(file, encoding=encod, header=0, na_filter=False, float_precision='high')
|
1240
1251
|
# df.replace(to_replace=[','], value='', regex=True, inplace=True) # 替换掉特殊字符
|
1241
1252
|
m = mysql.MysqlUpload(username=username, password=password, host=host, port=port)
|
1253
|
+
# df.pop('id')
|
1242
1254
|
m.df_to_mysql(
|
1243
1255
|
df=df,
|
1244
1256
|
db_name=db_name,
|
1245
1257
|
table_name=table_name,
|
1246
1258
|
# icm_update=['sku_id'], # 增量更新, 在聚合数据中使用,其他不要用
|
1247
|
-
move_insert=
|
1259
|
+
move_insert=True, # 先删除,再插入
|
1248
1260
|
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1249
1261
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1250
1262
|
count=None,
|
1251
1263
|
filename=None, # 用来追踪处理进度
|
1252
|
-
|
1264
|
+
reset_id=True, # 是否重置自增列
|
1253
1265
|
# set_typ=set_typ,
|
1254
1266
|
)
|
1255
1267
|
|
@@ -1312,32 +1324,115 @@ def cut_as_year_month(as_month=False):
|
|
1312
1324
|
df.to_csv(os.path.join(root, new_name), encoding='utf-8_sig', index=False, header=True)
|
1313
1325
|
|
1314
1326
|
|
1327
|
+
def doc_to_sql(write_data=False, read_data=False):
|
1328
|
+
if not write_data and not read_data:
|
1329
|
+
return
|
1330
|
+
# filename = '关于做好2024年世界互联网大会乌镇峰会期间寄递渠道安全保障工作的通知.pdf'
|
1331
|
+
path = '/Users/xigua/数据中心/微信pdf文件/2024-10'
|
1332
|
+
|
1333
|
+
if not os.path.isdir(path):
|
1334
|
+
print(f'不存在的文件夹: {path}')
|
1335
|
+
return
|
1336
|
+
m_engine = mysql.MysqlUpload(
|
1337
|
+
username=username,
|
1338
|
+
password=password,
|
1339
|
+
host=host,
|
1340
|
+
port=port,
|
1341
|
+
charset='utf8mb4'
|
1342
|
+
)
|
1343
|
+
if write_data:
|
1344
|
+
for root, dirs, files in os.walk(path, topdown=False):
|
1345
|
+
for name in files:
|
1346
|
+
if '~$' in name or '.DS' in name or '.localized' in name or 'baidu' in name:
|
1347
|
+
continue
|
1348
|
+
if name.endswith('.pdf') or name.endswith('.pptx'):
|
1349
|
+
file_size = os.stat(os.path.join(root, name)).st_size
|
1350
|
+
if file_size > 1024 * 1024 * 1024:
|
1351
|
+
file_size = file_size / 1024 / 1024 / 1024
|
1352
|
+
file_size = f'{file_size:.2f} GB'
|
1353
|
+
elif file_size > 1024 * 1024:
|
1354
|
+
file_size = file_size / 1024 / 1024
|
1355
|
+
file_size = f'{file_size:.2f} MB'
|
1356
|
+
else:
|
1357
|
+
file_size = file_size / 1024
|
1358
|
+
file_size = f'{file_size:.2f} KB'
|
1359
|
+
mod_time = os.path.getmtime(os.path.join(root, name))
|
1360
|
+
local_time = time.localtime(mod_time)
|
1361
|
+
mod_time_formatted = time.strftime('%Y-%m-%d %H:%M:%S', local_time)
|
1362
|
+
|
1363
|
+
# 读取PDF文件为二进制数据
|
1364
|
+
with open(os.path.join(path, name), 'rb') as file:
|
1365
|
+
pdf_data = file.read()
|
1366
|
+
dict_data = {
|
1367
|
+
'日期': datetime.datetime.today().strftime('%Y-%m-%d'),
|
1368
|
+
'数据来源': '微信',
|
1369
|
+
'文件名称': name,
|
1370
|
+
'文件大小': file_size,
|
1371
|
+
'修改时间': mod_time_formatted,
|
1372
|
+
'数据主体': pdf_data,
|
1373
|
+
'扩展名': os.path.splitext(name)[-1],
|
1374
|
+
'更新时间': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
|
1375
|
+
}
|
1376
|
+
set_typ = {
|
1377
|
+
'日期': 'date',
|
1378
|
+
'数据来源': 'varchar(100)',
|
1379
|
+
'文件名称': 'varchar(255)',
|
1380
|
+
'文件大小': 'varchar(20)',
|
1381
|
+
'修改时间': 'timestamp',
|
1382
|
+
'数据主体': 'longblob',
|
1383
|
+
'扩展名': 'varchar(50)',
|
1384
|
+
'更新时间': 'timestamp',
|
1385
|
+
}
|
1386
|
+
m_engine.doc_to_sql(
|
1387
|
+
db_name='pdf文件',
|
1388
|
+
table_name='微信pdf文件',
|
1389
|
+
remove_by_key=['文件名称'],
|
1390
|
+
dict_data=dict_data,
|
1391
|
+
set_typ=set_typ,
|
1392
|
+
allow_not_null=False,
|
1393
|
+
filename=name,
|
1394
|
+
reset_id=True,
|
1395
|
+
)
|
1396
|
+
if read_data:
|
1397
|
+
filename=''
|
1398
|
+
save_path = '/Users/xigua/Downloads'
|
1399
|
+
m_engine.read_doc_data(
|
1400
|
+
db_name='pdf文件',
|
1401
|
+
table_name='微信pdf文件',
|
1402
|
+
column='文件名称',
|
1403
|
+
filename=filename,
|
1404
|
+
save_path=save_path,
|
1405
|
+
)
|
1406
|
+
|
1315
1407
|
if __name__ == '__main__':
|
1408
|
+
doc_to_sql(
|
1409
|
+
write_data=True,
|
1410
|
+
read_data=False,
|
1411
|
+
)
|
1316
1412
|
# cut_as_year_month(as_month=False)
|
1317
1413
|
|
1318
1414
|
# username = 'root'
|
1319
1415
|
# password = ''
|
1320
1416
|
# host = ''
|
1321
1417
|
# port = ''
|
1322
|
-
|
1418
|
+
|
1323
1419
|
# # 上传 1 个文件到数据库
|
1324
1420
|
# one_file_to_mysql(
|
1325
|
-
# file=r'/Users/xigua/Downloads
|
1326
|
-
# db_name='
|
1327
|
-
# table_name='
|
1421
|
+
# file=r'/Users/xigua/Downloads/日期表.csv',
|
1422
|
+
# db_name='聚合数据test',
|
1423
|
+
# table_name='日期表',
|
1328
1424
|
# )
|
1329
1425
|
|
1330
1426
|
|
1331
|
-
col = 1
|
1332
|
-
if col:
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
|
1339
|
-
|
1340
|
-
|
1341
|
-
|
1427
|
+
# col = 1
|
1428
|
+
# if col:
|
1429
|
+
# # 上传一个目录到指定数据库
|
1430
|
+
# db_name = '爱库存2'
|
1431
|
+
# table_name = '商品spu榜单'
|
1432
|
+
# upload_dir(
|
1433
|
+
# path=r'/Users/xigua/Downloads/数据上传中心',
|
1434
|
+
# db_name=db_name,
|
1435
|
+
# collection_name=table_name,
|
1436
|
+
# )
|
1342
1437
|
|
1343
1438
|
|
@@ -59,6 +59,7 @@ class MysqlDatasQuery:
|
|
59
59
|
self.update_service = True # 调试时加,true: 将数据写入 mysql 服务器
|
60
60
|
self.pf_datas = []
|
61
61
|
self.pf_datas_jd = [] # 京东聚合销售表
|
62
|
+
self.output = set_support.SetSupport(dirname='support')
|
62
63
|
|
63
64
|
@staticmethod
|
64
65
|
def try_except(func): # 在类内部定义一个异常处理方法
|
@@ -196,9 +197,8 @@ class MysqlDatasQuery:
|
|
196
197
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
197
198
|
count=None,
|
198
199
|
filename=None, # 用来追踪处理进度
|
199
|
-
reset_id=
|
200
|
+
reset_id=True, # 是否重置自增列
|
200
201
|
set_typ=set_typ,
|
201
|
-
|
202
202
|
)
|
203
203
|
|
204
204
|
# df_pic:商品排序索引表, 给 powerbi 中的主推款排序用的,(从上月1号到今天的总花费进行排序)
|
@@ -337,7 +337,7 @@ class MysqlDatasQuery:
|
|
337
337
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
338
338
|
count=None,
|
339
339
|
filename=None, # 用来追踪处理进度
|
340
|
-
reset_id=
|
340
|
+
reset_id=True, # 是否重置自增列
|
341
341
|
set_typ=set_typ,
|
342
342
|
)
|
343
343
|
return True
|
@@ -477,7 +477,7 @@ class MysqlDatasQuery:
|
|
477
477
|
df['人群分类'].fillna('', inplace=True)
|
478
478
|
if '人群分类' in df.columns.tolist():
|
479
479
|
# 这行决定了,从文件中读取的分类信息优先级高于内部函数的分类规则
|
480
|
-
# 这个 lambda
|
480
|
+
# 这个 lambda 适配人群名字中带有特定标识的分类,强匹配,自定义命名
|
481
481
|
df['人群分类'] = df.apply(
|
482
482
|
lambda x: self.set_crowd(keyword=str(x['人群名字']), as_file=False) if x['人群分类'] == ''
|
483
483
|
else x['人群分类'], axis=1
|
@@ -527,7 +527,7 @@ class MysqlDatasQuery:
|
|
527
527
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
528
528
|
count=None,
|
529
529
|
filename=None, # 用来追踪处理进度
|
530
|
-
reset_id=
|
530
|
+
reset_id=True, # 是否重置自增列
|
531
531
|
set_typ=set_typ,
|
532
532
|
)
|
533
533
|
return True
|
@@ -663,7 +663,7 @@ class MysqlDatasQuery:
|
|
663
663
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
664
664
|
count=None,
|
665
665
|
filename=None, # 用来追踪处理进度
|
666
|
-
reset_id=
|
666
|
+
reset_id=True, # 是否重置自增列
|
667
667
|
set_typ=set_typ,
|
668
668
|
)
|
669
669
|
return True
|
@@ -787,7 +787,7 @@ class MysqlDatasQuery:
|
|
787
787
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
788
788
|
count=None,
|
789
789
|
filename=None, # 用来追踪处理进度
|
790
|
-
reset_id=
|
790
|
+
reset_id=True, # 是否重置自增列
|
791
791
|
set_typ=set_typ,
|
792
792
|
)
|
793
793
|
return True
|
@@ -900,7 +900,7 @@ class MysqlDatasQuery:
|
|
900
900
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
901
901
|
count=None,
|
902
902
|
filename=None, # 用来追踪处理进度
|
903
|
-
reset_id=
|
903
|
+
reset_id=True, # 是否重置自增列
|
904
904
|
set_typ=set_typ,
|
905
905
|
)
|
906
906
|
return True
|
@@ -957,7 +957,7 @@ class MysqlDatasQuery:
|
|
957
957
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
958
958
|
count=None,
|
959
959
|
filename=None, # 用来追踪处理进度
|
960
|
-
reset_id=
|
960
|
+
reset_id=True, # 是否重置自增列
|
961
961
|
set_typ=set_typ,
|
962
962
|
)
|
963
963
|
return True
|
@@ -1016,7 +1016,6 @@ class MysqlDatasQuery:
|
|
1016
1016
|
filename=None, # 用来追踪处理进度
|
1017
1017
|
reset_id=False, # 是否重置自增列
|
1018
1018
|
set_typ=set_typ,
|
1019
|
-
|
1020
1019
|
)
|
1021
1020
|
return True
|
1022
1021
|
|
@@ -1123,7 +1122,7 @@ class MysqlDatasQuery:
|
|
1123
1122
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1124
1123
|
count=None,
|
1125
1124
|
filename=None, # 用来追踪处理进度
|
1126
|
-
reset_id=
|
1125
|
+
reset_id=True, # 是否重置自增列
|
1127
1126
|
set_typ=set_typ,
|
1128
1127
|
)
|
1129
1128
|
return True
|
@@ -1172,7 +1171,6 @@ class MysqlDatasQuery:
|
|
1172
1171
|
filename=None, # 用来追踪处理进度
|
1173
1172
|
reset_id=False, # 是否重置自增列
|
1174
1173
|
set_typ=set_typ,
|
1175
|
-
|
1176
1174
|
)
|
1177
1175
|
return True
|
1178
1176
|
|
@@ -1276,7 +1274,7 @@ class MysqlDatasQuery:
|
|
1276
1274
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1277
1275
|
count=None,
|
1278
1276
|
filename=None, # 用来追踪处理进度
|
1279
|
-
reset_id=
|
1277
|
+
reset_id=True, # 是否重置自增列
|
1280
1278
|
set_typ=set_typ,
|
1281
1279
|
|
1282
1280
|
)
|
@@ -1311,7 +1309,7 @@ class MysqlDatasQuery:
|
|
1311
1309
|
# drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1312
1310
|
# count=None,
|
1313
1311
|
# filename=None, # 用来追踪处理进度
|
1314
|
-
# reset_id=
|
1312
|
+
# reset_id=True, # 是否重置自增列
|
1315
1313
|
# set_typ=set_typ,
|
1316
1314
|
#
|
1317
1315
|
# )
|
@@ -1380,7 +1378,7 @@ class MysqlDatasQuery:
|
|
1380
1378
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1381
1379
|
count=None,
|
1382
1380
|
filename=None, # 用来追踪处理进度
|
1383
|
-
reset_id=
|
1381
|
+
reset_id=True, # 是否重置自增列
|
1384
1382
|
set_typ=set_typ,
|
1385
1383
|
|
1386
1384
|
)
|
@@ -1482,7 +1480,7 @@ class MysqlDatasQuery:
|
|
1482
1480
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1483
1481
|
count=None,
|
1484
1482
|
filename=None, # 用来追踪处理进度
|
1485
|
-
reset_id=
|
1483
|
+
reset_id=True, # 是否重置自增列
|
1486
1484
|
set_typ=set_typ,
|
1487
1485
|
|
1488
1486
|
)
|
@@ -1557,7 +1555,7 @@ class MysqlDatasQuery:
|
|
1557
1555
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1558
1556
|
count=None,
|
1559
1557
|
filename=None, # 用来追踪处理进度
|
1560
|
-
reset_id=
|
1558
|
+
reset_id=True, # 是否重置自增列
|
1561
1559
|
set_typ=set_typ,
|
1562
1560
|
)
|
1563
1561
|
return True
|
@@ -1623,7 +1621,7 @@ class MysqlDatasQuery:
|
|
1623
1621
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1624
1622
|
count=None,
|
1625
1623
|
filename=None, # 用来追踪处理进度
|
1626
|
-
reset_id=
|
1624
|
+
reset_id=True, # 是否重置自增列
|
1627
1625
|
set_typ=set_typ,
|
1628
1626
|
|
1629
1627
|
)
|
@@ -1707,9 +1705,8 @@ class MysqlDatasQuery:
|
|
1707
1705
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1708
1706
|
count=None,
|
1709
1707
|
filename=None, # 用来追踪处理进度
|
1710
|
-
reset_id=
|
1708
|
+
reset_id=True, # 是否重置自增列
|
1711
1709
|
set_typ=set_typ,
|
1712
|
-
|
1713
1710
|
)
|
1714
1711
|
return True
|
1715
1712
|
|
@@ -1898,6 +1895,7 @@ class MysqlDatasQuery:
|
|
1898
1895
|
start_date, end_date = self.months_data(num=self.months)
|
1899
1896
|
projection = {
|
1900
1897
|
'日期': 1,
|
1898
|
+
'场景id': 1,
|
1901
1899
|
'场景名字': 1,
|
1902
1900
|
'花费': 1,
|
1903
1901
|
'展现量': 1,
|
@@ -1921,10 +1919,10 @@ class MysqlDatasQuery:
|
|
1921
1919
|
if len(df_tm) > 0:
|
1922
1920
|
df_tm.rename(columns={'场景名字': '营销场景'}, inplace=True)
|
1923
1921
|
df_tm = df_tm.groupby(
|
1924
|
-
['日期', '店铺名称', '营销场景', '花费'],
|
1922
|
+
['日期', '店铺名称', '场景id', '营销场景', '花费', '展现量'],
|
1925
1923
|
as_index=False).agg(
|
1926
1924
|
**{
|
1927
|
-
'展现量': ('展现量', np.max),
|
1925
|
+
# '展现量': ('展现量', np.max),
|
1928
1926
|
'点击量': ('点击量', np.max),
|
1929
1927
|
'加购量': ('总购物车数', np.max),
|
1930
1928
|
'成交笔数': ('总成交笔数', np.max),
|
@@ -1945,10 +1943,10 @@ class MysqlDatasQuery:
|
|
1945
1943
|
if len(df_tb) > 0:
|
1946
1944
|
df_tb.rename(columns={'场景名字': '营销场景'}, inplace=True)
|
1947
1945
|
df_tb = df_tb.groupby(
|
1948
|
-
['日期', '店铺名称', '营销场景', '花费'],
|
1946
|
+
['日期', '店铺名称', '场景id', '营销场景', '花费', '展现量'],
|
1949
1947
|
as_index=False).agg(
|
1950
1948
|
**{
|
1951
|
-
'展现量': ('展现量', np.max),
|
1949
|
+
# '展现量': ('展现量', np.max),
|
1952
1950
|
'点击量': ('点击量', np.max),
|
1953
1951
|
'加购量': ('总购物车数', np.max),
|
1954
1952
|
'成交笔数': ('总成交笔数', np.max),
|
@@ -2207,7 +2205,7 @@ class MysqlDatasQuery:
|
|
2207
2205
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2208
2206
|
count=None,
|
2209
2207
|
filename=None, # 用来追踪处理进度
|
2210
|
-
reset_id=
|
2208
|
+
reset_id=True, # 是否重置自增列
|
2211
2209
|
set_typ=set_typ,
|
2212
2210
|
|
2213
2211
|
)
|
@@ -2324,7 +2322,7 @@ class MysqlDatasQuery:
|
|
2324
2322
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2325
2323
|
count=None,
|
2326
2324
|
filename=None, # 用来追踪处理进度
|
2327
|
-
reset_id=
|
2325
|
+
reset_id=True, # 是否重置自增列
|
2328
2326
|
set_typ=set_typ,
|
2329
2327
|
|
2330
2328
|
)
|
@@ -2377,7 +2375,7 @@ class MysqlDatasQuery:
|
|
2377
2375
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2378
2376
|
count=None,
|
2379
2377
|
filename=None, # 用来追踪处理进度
|
2380
|
-
reset_id=
|
2378
|
+
reset_id=True, # 是否重置自增列
|
2381
2379
|
set_typ=set_typ,
|
2382
2380
|
|
2383
2381
|
)
|
@@ -2490,7 +2488,7 @@ class MysqlDatasQuery:
|
|
2490
2488
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2491
2489
|
count=None,
|
2492
2490
|
filename=None, # 用来追踪处理进度
|
2493
|
-
reset_id=
|
2491
|
+
reset_id=True, # 是否重置自增列
|
2494
2492
|
set_typ=set_typ,
|
2495
2493
|
)
|
2496
2494
|
return True
|
@@ -2739,6 +2737,7 @@ class MysqlDatasQuery:
|
|
2739
2737
|
'机会',
|
2740
2738
|
'推荐',
|
2741
2739
|
'智能定向',
|
2740
|
+
'AI',
|
2742
2741
|
]
|
2743
2742
|
},
|
2744
2743
|
{
|
@@ -2900,7 +2899,7 @@ class MysqlDatasQuery:
|
|
2900
2899
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2901
2900
|
count=None,
|
2902
2901
|
filename=None, # 用来追踪处理进度
|
2903
|
-
reset_id=
|
2902
|
+
reset_id=True, # 是否重置自增列
|
2904
2903
|
set_typ=set_typ,
|
2905
2904
|
)
|
2906
2905
|
return True
|
@@ -3010,7 +3009,7 @@ class MysqlDatasQuery:
|
|
3010
3009
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
3011
3010
|
count=None,
|
3012
3011
|
filename=None, # 用来追踪处理进度
|
3013
|
-
reset_id=
|
3012
|
+
reset_id=True, # 是否重置自增列
|
3014
3013
|
set_typ=set_typ,
|
3015
3014
|
)
|
3016
3015
|
return True
|
@@ -3081,7 +3080,7 @@ class MysqlDatasQuery:
|
|
3081
3080
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
3082
3081
|
count=None,
|
3083
3082
|
filename=None, # 用来追踪处理进度
|
3084
|
-
reset_id=
|
3083
|
+
reset_id=True, # 是否重置自增列
|
3085
3084
|
set_typ=set_typ,
|
3086
3085
|
)
|
3087
3086
|
return True
|
@@ -3310,7 +3309,7 @@ if __name__ == '__main__':
|
|
3310
3309
|
# future_to_function = {
|
3311
3310
|
# executor.submit(
|
3312
3311
|
# func_query,
|
3313
|
-
# months=
|
3312
|
+
# months=1,
|
3314
3313
|
# less_dict=[],
|
3315
3314
|
# ),
|
3316
3315
|
# }
|