mdbq 3.3.1__py3-none-any.whl → 3.3.3__py3-none-any.whl
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/aggregation/query_data.py +393 -31
- mdbq/mysql/mysql.py +17 -9
- mdbq/spider/aikucun.py +64 -11
- {mdbq-3.3.1.dist-info → mdbq-3.3.3.dist-info}/METADATA +1 -1
- {mdbq-3.3.1.dist-info → mdbq-3.3.3.dist-info}/RECORD +7 -7
- {mdbq-3.3.1.dist-info → mdbq-3.3.3.dist-info}/WHEEL +0 -0
- {mdbq-3.3.1.dist-info → mdbq-3.3.3.dist-info}/top_level.txt +0 -0
mdbq/aggregation/query_data.py
CHANGED
@@ -25,26 +25,54 @@ import traceback
|
|
25
25
|
|
26
26
|
"""
|
27
27
|
error_file = os.path.join(set_support.SetSupport(dirname='support').dirname, 'error.log')
|
28
|
-
username, password, host, port,
|
29
|
-
|
28
|
+
m_engine = mysql.MysqlUpload(username='', password='', host='', port=0, charset='utf8mb4')
|
29
|
+
company_engine = mysql.MysqlUpload(username='', password='', host='', port=0, charset='utf8mb4')
|
30
|
+
|
31
|
+
if socket.gethostname() == 'company' or socket.gethostname() == 'Mac2.local':
|
30
32
|
conf = myconfig.main()
|
31
|
-
conf_data = conf['Windows']['xigua_lx']['mysql']['
|
33
|
+
conf_data = conf['Windows']['xigua_lx']['mysql']['remoto']
|
32
34
|
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
33
|
-
|
34
|
-
|
35
|
-
|
35
|
+
m_engine = mysql.MysqlUpload(
|
36
|
+
username=username,
|
37
|
+
password=password,
|
38
|
+
host=host,
|
39
|
+
port=port,
|
40
|
+
charset='utf8mb4'
|
41
|
+
)
|
36
42
|
conf_data = conf['Windows']['company']['mysql']['local']
|
37
43
|
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
company_engine = mysql.MysqlUpload(
|
45
|
+
username=username,
|
46
|
+
password=password,
|
47
|
+
host=host,
|
48
|
+
port=port,
|
49
|
+
charset='utf8mb4'
|
50
|
+
)
|
51
|
+
targe_host = 'company'
|
52
|
+
|
53
|
+
else:
|
54
|
+
conf = myconfig.main()
|
55
|
+
|
56
|
+
conf_data = conf['Windows']['company']['mysql']['remoto']
|
57
|
+
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
58
|
+
company_engine = mysql.MysqlUpload(
|
59
|
+
username=username,
|
60
|
+
password=password,
|
61
|
+
host=host,
|
62
|
+
port=port,
|
63
|
+
charset='utf8mb4'
|
64
|
+
)
|
65
|
+
|
66
|
+
conf_data = conf['Windows']['xigua_lx']['mysql']['local']
|
67
|
+
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
68
|
+
m_engine = mysql.MysqlUpload(
|
69
|
+
username=username,
|
70
|
+
password=password,
|
71
|
+
host=host,
|
72
|
+
port=port,
|
73
|
+
charset='utf8mb4'
|
74
|
+
)
|
75
|
+
targe_host = 'xigua_lx'
|
48
76
|
|
49
77
|
|
50
78
|
class MysqlDatasQuery:
|
@@ -200,6 +228,19 @@ class MysqlDatasQuery:
|
|
200
228
|
reset_id=True, # 是否重置自增列
|
201
229
|
set_typ=set_typ,
|
202
230
|
)
|
231
|
+
company_engine.df_to_mysql(
|
232
|
+
df=df,
|
233
|
+
db_name=db_name,
|
234
|
+
table_name=table_name,
|
235
|
+
# icm_update=['日期', '推广渠道', '营销场景', '商品id', '花费'], # 增量更新, 在聚合数据中使用,其他不要用
|
236
|
+
move_insert=True, # 先删除,再插入
|
237
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
238
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
239
|
+
count=None,
|
240
|
+
filename=None, # 用来追踪处理进度
|
241
|
+
reset_id=True, # 是否重置自增列
|
242
|
+
set_typ=set_typ,
|
243
|
+
)
|
203
244
|
|
204
245
|
# df_pic:商品排序索引表, 给 powerbi 中的主推款排序用的,(从上月1号到今天的总花费进行排序)
|
205
246
|
today = datetime.date.today()
|
@@ -248,6 +289,19 @@ class MysqlDatasQuery:
|
|
248
289
|
reset_id=False, # 是否重置自增列
|
249
290
|
set_typ=set_typ,
|
250
291
|
)
|
292
|
+
company_engine.df_to_mysql(
|
293
|
+
df=df_pic,
|
294
|
+
db_name='属性设置3',
|
295
|
+
table_name='商品索引表_主推排序调用',
|
296
|
+
icm_update=['商品id'], # 增量更新, 在聚合数据中使用,其他不要用
|
297
|
+
move_insert=False, # 先删除,再插入
|
298
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
299
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
300
|
+
count=None,
|
301
|
+
filename=None, # 用来追踪处理进度
|
302
|
+
reset_id=False, # 是否重置自增列
|
303
|
+
set_typ=set_typ,
|
304
|
+
)
|
251
305
|
return True
|
252
306
|
|
253
307
|
@try_except
|
@@ -340,6 +394,19 @@ class MysqlDatasQuery:
|
|
340
394
|
reset_id=True, # 是否重置自增列
|
341
395
|
set_typ=set_typ,
|
342
396
|
)
|
397
|
+
company_engine.df_to_mysql(
|
398
|
+
df=df,
|
399
|
+
db_name=db_name,
|
400
|
+
table_name=table_name,
|
401
|
+
# icm_update=['日期', '宝贝id'], # 增量更新, 在聚合数据中使用,其他不要用
|
402
|
+
move_insert=True, # 先删除,再插入
|
403
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
404
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
405
|
+
count=None,
|
406
|
+
filename=None, # 用来追踪处理进度
|
407
|
+
reset_id=True, # 是否重置自增列
|
408
|
+
set_typ=set_typ,
|
409
|
+
)
|
343
410
|
return True
|
344
411
|
|
345
412
|
@try_except
|
@@ -530,6 +597,19 @@ class MysqlDatasQuery:
|
|
530
597
|
reset_id=True, # 是否重置自增列
|
531
598
|
set_typ=set_typ,
|
532
599
|
)
|
600
|
+
company_engine.df_to_mysql(
|
601
|
+
df=df,
|
602
|
+
db_name=db_name,
|
603
|
+
table_name=table_name,
|
604
|
+
# icm_update=['日期', '推广渠道', '营销场景', '商品id', '花费', '人群名字'], # 增量更新, 在聚合数据中使用,其他不要用
|
605
|
+
move_insert=True, # 先删除,再插入
|
606
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
607
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
608
|
+
count=None,
|
609
|
+
filename=None, # 用来追踪处理进度
|
610
|
+
reset_id=True, # 是否重置自增列
|
611
|
+
set_typ=set_typ,
|
612
|
+
)
|
533
613
|
return True
|
534
614
|
|
535
615
|
@try_except
|
@@ -666,6 +746,19 @@ class MysqlDatasQuery:
|
|
666
746
|
reset_id=True, # 是否重置自增列
|
667
747
|
set_typ=set_typ,
|
668
748
|
)
|
749
|
+
company_engine.df_to_mysql(
|
750
|
+
df=df,
|
751
|
+
db_name=db_name,
|
752
|
+
table_name=table_name,
|
753
|
+
# icm_update=['日期', '推广渠道', '营销场景', '商品id', '花费', '词类型', '词名字_词包名字',], # 增量更新, 在聚合数据中使用,其他不要用
|
754
|
+
move_insert=True, # 先删除,再插入
|
755
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
756
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
757
|
+
count=None,
|
758
|
+
filename=None, # 用来追踪处理进度
|
759
|
+
reset_id=True, # 是否重置自增列
|
760
|
+
set_typ=set_typ,
|
761
|
+
)
|
669
762
|
return True
|
670
763
|
|
671
764
|
@try_except
|
@@ -790,6 +883,19 @@ class MysqlDatasQuery:
|
|
790
883
|
reset_id=True, # 是否重置自增列
|
791
884
|
set_typ=set_typ,
|
792
885
|
)
|
886
|
+
company_engine.df_to_mysql(
|
887
|
+
df=df,
|
888
|
+
db_name=db_name,
|
889
|
+
table_name=table_name,
|
890
|
+
# icm_update=['日期', '推广渠道', '营销场景', '花费'], # 增量更新, 在聚合数据中使用,其他不要用
|
891
|
+
move_insert=True, # 先删除,再插入
|
892
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
893
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
894
|
+
count=None,
|
895
|
+
filename=None, # 用来追踪处理进度
|
896
|
+
reset_id=True, # 是否重置自增列
|
897
|
+
set_typ=set_typ,
|
898
|
+
)
|
793
899
|
return True
|
794
900
|
|
795
901
|
@try_except
|
@@ -903,6 +1009,19 @@ class MysqlDatasQuery:
|
|
903
1009
|
reset_id=True, # 是否重置自增列
|
904
1010
|
set_typ=set_typ,
|
905
1011
|
)
|
1012
|
+
company_engine.df_to_mysql(
|
1013
|
+
df=df,
|
1014
|
+
db_name=db_name,
|
1015
|
+
table_name=table_name,
|
1016
|
+
# icm_update=['日期', '报表类型', '推广渠道', '营销场景', '花费'], # 增量更新, 在聚合数据中使用,其他不要用
|
1017
|
+
move_insert=True, # 先删除,再插入
|
1018
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1019
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1020
|
+
count=None,
|
1021
|
+
filename=None, # 用来追踪处理进度
|
1022
|
+
reset_id=True, # 是否重置自增列
|
1023
|
+
set_typ=set_typ,
|
1024
|
+
)
|
906
1025
|
return True
|
907
1026
|
|
908
1027
|
@try_except
|
@@ -960,6 +1079,19 @@ class MysqlDatasQuery:
|
|
960
1079
|
reset_id=True, # 是否重置自增列
|
961
1080
|
set_typ=set_typ,
|
962
1081
|
)
|
1082
|
+
company_engine.df_to_mysql(
|
1083
|
+
df=df,
|
1084
|
+
db_name=db_name,
|
1085
|
+
table_name=table_name,
|
1086
|
+
icm_update=['宝贝id'], # 增量更新, 在聚合数据中使用,其他不要用
|
1087
|
+
move_insert=False, # 先删除,再插入
|
1088
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1089
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1090
|
+
count=None,
|
1091
|
+
filename=None, # 用来追踪处理进度
|
1092
|
+
reset_id=True, # 是否重置自增列
|
1093
|
+
set_typ=set_typ,
|
1094
|
+
)
|
963
1095
|
return True
|
964
1096
|
|
965
1097
|
@try_except
|
@@ -1017,6 +1149,19 @@ class MysqlDatasQuery:
|
|
1017
1149
|
reset_id=False, # 是否重置自增列
|
1018
1150
|
set_typ=set_typ,
|
1019
1151
|
)
|
1152
|
+
company_engine.df_to_mysql(
|
1153
|
+
df=df,
|
1154
|
+
db_name=db_name,
|
1155
|
+
table_name=table_name,
|
1156
|
+
icm_update=['商品id'], # 增量更新, 在聚合数据中使用,其他不要用
|
1157
|
+
move_insert=False, # 先删除,再插入
|
1158
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1159
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1160
|
+
count=None,
|
1161
|
+
filename=None, # 用来追踪处理进度
|
1162
|
+
reset_id=False, # 是否重置自增列
|
1163
|
+
set_typ=set_typ,
|
1164
|
+
)
|
1020
1165
|
return True
|
1021
1166
|
|
1022
1167
|
# @try_except
|
@@ -1125,6 +1270,19 @@ class MysqlDatasQuery:
|
|
1125
1270
|
reset_id=True, # 是否重置自增列
|
1126
1271
|
set_typ=set_typ,
|
1127
1272
|
)
|
1273
|
+
company_engine.df_to_mysql(
|
1274
|
+
df=df,
|
1275
|
+
db_name=db_name,
|
1276
|
+
table_name=table_name,
|
1277
|
+
# icm_update=['日期', '一级来源', '二级来源', '三级来源', '访客数'], # 增量更新, 在聚合数据中使用,其他不要用
|
1278
|
+
move_insert=True, # 先删除,再插入
|
1279
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1280
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1281
|
+
count=None,
|
1282
|
+
filename=None, # 用来追踪处理进度
|
1283
|
+
reset_id=True, # 是否重置自增列
|
1284
|
+
set_typ=set_typ,
|
1285
|
+
)
|
1128
1286
|
return True
|
1129
1287
|
|
1130
1288
|
@try_except
|
@@ -1172,6 +1330,19 @@ class MysqlDatasQuery:
|
|
1172
1330
|
reset_id=False, # 是否重置自增列
|
1173
1331
|
set_typ=set_typ,
|
1174
1332
|
)
|
1333
|
+
company_engine.df_to_mysql(
|
1334
|
+
df=df,
|
1335
|
+
db_name=db_name,
|
1336
|
+
table_name=table_name,
|
1337
|
+
icm_update=['款号'], # 增量更新, 在聚合数据中使用,其他不要用
|
1338
|
+
move_insert=False, # 先删除,再插入
|
1339
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1340
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1341
|
+
count=None,
|
1342
|
+
filename=None, # 用来追踪处理进度
|
1343
|
+
reset_id=False, # 是否重置自增列
|
1344
|
+
set_typ=set_typ,
|
1345
|
+
)
|
1175
1346
|
return True
|
1176
1347
|
|
1177
1348
|
# @try_except
|
@@ -1276,7 +1447,19 @@ class MysqlDatasQuery:
|
|
1276
1447
|
filename=None, # 用来追踪处理进度
|
1277
1448
|
reset_id=True, # 是否重置自增列
|
1278
1449
|
set_typ=set_typ,
|
1279
|
-
|
1450
|
+
)
|
1451
|
+
company_engine.df_to_mysql(
|
1452
|
+
df=df,
|
1453
|
+
db_name=db_name,
|
1454
|
+
table_name=table_name,
|
1455
|
+
# icm_update=['日期', '产品线', '触发sku_id', '跟单sku_id', '花费', ], # 增量更新, 在聚合数据中使用,其他不要用
|
1456
|
+
move_insert=True, # 先删除,再插入
|
1457
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1458
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1459
|
+
count=None,
|
1460
|
+
filename=None, # 用来追踪处理进度
|
1461
|
+
reset_id=True, # 是否重置自增列
|
1462
|
+
set_typ=set_typ,
|
1280
1463
|
)
|
1281
1464
|
|
1282
1465
|
# # 按照 spu 聚合
|
@@ -1310,8 +1493,20 @@ class MysqlDatasQuery:
|
|
1310
1493
|
# count=None,
|
1311
1494
|
# filename=None, # 用来追踪处理进度
|
1312
1495
|
# reset_id=True, # 是否重置自增列
|
1313
|
-
# set_typ=set_typ
|
1314
|
-
#
|
1496
|
+
# set_typ=set_typ
|
1497
|
+
# )
|
1498
|
+
# company_engine.df_to_mysql(
|
1499
|
+
# df=df,
|
1500
|
+
# db_name=db_name,
|
1501
|
+
# table_name='京东_京准通_按spu',
|
1502
|
+
# # icm_update=['日期', '产品线', '触发sku_id', '跟单sku_id', '花费', ], # 增量更新, 在聚合数据中使用,其他不要用
|
1503
|
+
# move_insert=True, # 先删除,再插入
|
1504
|
+
# df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1505
|
+
# drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1506
|
+
# count=None,
|
1507
|
+
# filename=None, # 用来追踪处理进度
|
1508
|
+
# reset_id=True, # 是否重置自增列
|
1509
|
+
# set_typ=set_typ
|
1315
1510
|
# )
|
1316
1511
|
|
1317
1512
|
return True
|
@@ -1379,8 +1574,20 @@ class MysqlDatasQuery:
|
|
1379
1574
|
count=None,
|
1380
1575
|
filename=None, # 用来追踪处理进度
|
1381
1576
|
reset_id=True, # 是否重置自增列
|
1382
|
-
set_typ=set_typ
|
1383
|
-
|
1577
|
+
set_typ=set_typ
|
1578
|
+
)
|
1579
|
+
company_engine.df_to_mysql(
|
1580
|
+
df=df,
|
1581
|
+
db_name=db_name,
|
1582
|
+
table_name=table_name,
|
1583
|
+
# icm_update=['日期', '产品线', '花费'], # 增量更新, 在聚合数据中使用,其他不要用
|
1584
|
+
move_insert=True, # 先删除,再插入
|
1585
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1586
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1587
|
+
count=None,
|
1588
|
+
filename=None, # 用来追踪处理进度
|
1589
|
+
reset_id=True, # 是否重置自增列
|
1590
|
+
set_typ=set_typ
|
1384
1591
|
)
|
1385
1592
|
return True
|
1386
1593
|
|
@@ -1481,8 +1688,20 @@ class MysqlDatasQuery:
|
|
1481
1688
|
count=None,
|
1482
1689
|
filename=None, # 用来追踪处理进度
|
1483
1690
|
reset_id=True, # 是否重置自增列
|
1484
|
-
set_typ=set_typ
|
1485
|
-
|
1691
|
+
set_typ=set_typ
|
1692
|
+
)
|
1693
|
+
company_engine.df_to_mysql(
|
1694
|
+
df=df,
|
1695
|
+
db_name=db_name,
|
1696
|
+
table_name=table_name,
|
1697
|
+
# icm_update=['日期', '产品线', '搜索词', '关键词', '展现数', '花费'], # 增量更新, 在聚合数据中使用,其他不要用
|
1698
|
+
move_insert=True, # 先删除,再插入
|
1699
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1700
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1701
|
+
count=None,
|
1702
|
+
filename=None, # 用来追踪处理进度
|
1703
|
+
reset_id=True, # 是否重置自增列
|
1704
|
+
set_typ=set_typ
|
1486
1705
|
)
|
1487
1706
|
return True
|
1488
1707
|
|
@@ -1558,6 +1777,19 @@ class MysqlDatasQuery:
|
|
1558
1777
|
reset_id=True, # 是否重置自增列
|
1559
1778
|
set_typ=set_typ,
|
1560
1779
|
)
|
1780
|
+
company_engine.df_to_mysql(
|
1781
|
+
df=df,
|
1782
|
+
db_name=db_name,
|
1783
|
+
table_name=table_name,
|
1784
|
+
# icm_update=['日期', '商品id', '成交单量'], # 增量更新, 在聚合数据中使用,其他不要用
|
1785
|
+
move_insert=True, # 先删除,再插入
|
1786
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1787
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1788
|
+
count=None,
|
1789
|
+
filename=None, # 用来追踪处理进度
|
1790
|
+
reset_id=True, # 是否重置自增列
|
1791
|
+
set_typ=set_typ,
|
1792
|
+
)
|
1561
1793
|
return True
|
1562
1794
|
|
1563
1795
|
@try_except
|
@@ -1622,8 +1854,20 @@ class MysqlDatasQuery:
|
|
1622
1854
|
count=None,
|
1623
1855
|
filename=None, # 用来追踪处理进度
|
1624
1856
|
reset_id=True, # 是否重置自增列
|
1625
|
-
set_typ=set_typ
|
1626
|
-
|
1857
|
+
set_typ=set_typ
|
1858
|
+
)
|
1859
|
+
company_engine.df_to_mysql(
|
1860
|
+
df=df,
|
1861
|
+
db_name=db_name,
|
1862
|
+
table_name=table_name,
|
1863
|
+
# icm_update=['日期', '商品id', '成交单量'], # 增量更新, 在聚合数据中使用,其他不要用
|
1864
|
+
move_insert=True, # 先删除,再插入
|
1865
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1866
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1867
|
+
count=None,
|
1868
|
+
filename=None, # 用来追踪处理进度
|
1869
|
+
reset_id=True, # 是否重置自增列
|
1870
|
+
set_typ=set_typ
|
1627
1871
|
)
|
1628
1872
|
return True
|
1629
1873
|
|
@@ -1708,6 +1952,19 @@ class MysqlDatasQuery:
|
|
1708
1952
|
reset_id=True, # 是否重置自增列
|
1709
1953
|
set_typ=set_typ,
|
1710
1954
|
)
|
1955
|
+
company_engine.df_to_mysql(
|
1956
|
+
df=df,
|
1957
|
+
db_name=db_name,
|
1958
|
+
table_name=table_name,
|
1959
|
+
# icm_update=['日期', '店铺名称', '词类型', '搜索词'], # 增量更新, 在聚合数据中使用,其他不要用
|
1960
|
+
move_insert=True, # 先删除,再插入
|
1961
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
1962
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
1963
|
+
count=None,
|
1964
|
+
filename=None, # 用来追踪处理进度
|
1965
|
+
reset_id=True, # 是否重置自增列
|
1966
|
+
set_typ=set_typ,
|
1967
|
+
)
|
1711
1968
|
return True
|
1712
1969
|
|
1713
1970
|
@try_except
|
@@ -1877,6 +2134,15 @@ class MysqlDatasQuery:
|
|
1877
2134
|
main_key=None, # 指定索引列, 通常用日期列,默认会设置日期为索引
|
1878
2135
|
set_typ=set_typ, # 指定数据类型
|
1879
2136
|
)
|
2137
|
+
company_engine.dict_to_mysql(
|
2138
|
+
db_name=db_name,
|
2139
|
+
table_name=table_name,
|
2140
|
+
dict_data=new_dict,
|
2141
|
+
unique_main_key=None,
|
2142
|
+
icm_update=['场次id'], # 唯一组合键
|
2143
|
+
main_key=None, # 指定索引列, 通常用日期列,默认会设置日期为索引
|
2144
|
+
set_typ=set_typ, # 指定数据类型
|
2145
|
+
)
|
1880
2146
|
return True
|
1881
2147
|
|
1882
2148
|
# @try_except
|
@@ -2206,8 +2472,20 @@ class MysqlDatasQuery:
|
|
2206
2472
|
count=None,
|
2207
2473
|
filename=None, # 用来追踪处理进度
|
2208
2474
|
reset_id=True, # 是否重置自增列
|
2209
|
-
set_typ=set_typ
|
2210
|
-
|
2475
|
+
set_typ=set_typ
|
2476
|
+
)
|
2477
|
+
company_engine.df_to_mysql(
|
2478
|
+
df=df,
|
2479
|
+
db_name=db_name,
|
2480
|
+
table_name=table_name,
|
2481
|
+
# icm_update=['日期', '店铺名称', '营销场景', '花费', '展现量', '点击量'], # 增量更新, 在聚合数据中使用,其他不要用
|
2482
|
+
move_insert=True, # 先删除,再插入
|
2483
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
2484
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2485
|
+
count=None,
|
2486
|
+
filename=None, # 用来追踪处理进度
|
2487
|
+
reset_id=True, # 是否重置自增列
|
2488
|
+
set_typ=set_typ
|
2211
2489
|
)
|
2212
2490
|
return True
|
2213
2491
|
|
@@ -2312,6 +2590,14 @@ class MysqlDatasQuery:
|
|
2312
2590
|
# unique_main_key=None,
|
2313
2591
|
# set_typ=set_typ,
|
2314
2592
|
# )
|
2593
|
+
# company_engine.dict_to_mysql(
|
2594
|
+
# db_name=db_name,
|
2595
|
+
# table_name=table_name,
|
2596
|
+
# dict_data=new_dict,
|
2597
|
+
# icm_update=['日期', '店铺名称', 'spu_id', '商品款号'],
|
2598
|
+
# unique_main_key=None,
|
2599
|
+
# set_typ=set_typ,
|
2600
|
+
# )
|
2315
2601
|
m_engine.df_to_mysql(
|
2316
2602
|
df=df,
|
2317
2603
|
db_name=db_name,
|
@@ -2323,8 +2609,20 @@ class MysqlDatasQuery:
|
|
2323
2609
|
count=None,
|
2324
2610
|
filename=None, # 用来追踪处理进度
|
2325
2611
|
reset_id=True, # 是否重置自增列
|
2326
|
-
set_typ=set_typ
|
2327
|
-
|
2612
|
+
set_typ=set_typ
|
2613
|
+
)
|
2614
|
+
company_engine.df_to_mysql(
|
2615
|
+
df=df,
|
2616
|
+
db_name=db_name,
|
2617
|
+
table_name=table_name,
|
2618
|
+
icm_update=[], # 增量更新, 在聚合数据中使用,其他不要用
|
2619
|
+
move_insert=True, # 先删除,再插入
|
2620
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
2621
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2622
|
+
count=None,
|
2623
|
+
filename=None, # 用来追踪处理进度
|
2624
|
+
reset_id=True, # 是否重置自增列
|
2625
|
+
set_typ=set_typ
|
2328
2626
|
)
|
2329
2627
|
return True
|
2330
2628
|
|
@@ -2376,8 +2674,20 @@ class MysqlDatasQuery:
|
|
2376
2674
|
count=None,
|
2377
2675
|
filename=None, # 用来追踪处理进度
|
2378
2676
|
reset_id=True, # 是否重置自增列
|
2379
|
-
set_typ=set_typ
|
2380
|
-
|
2677
|
+
set_typ=set_typ
|
2678
|
+
)
|
2679
|
+
company_engine.df_to_mysql(
|
2680
|
+
df=df,
|
2681
|
+
db_name=db_name,
|
2682
|
+
table_name=table_name,
|
2683
|
+
# icm_update=['日期', '人群类型', '店铺名称', '人群规模', '广告投入金额'], # 增量更新, 在聚合数据中使用,其他不要用
|
2684
|
+
move_insert=True, # 先删除,再插入
|
2685
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
2686
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2687
|
+
count=None,
|
2688
|
+
filename=None, # 用来追踪处理进度
|
2689
|
+
reset_id=True, # 是否重置自增列
|
2690
|
+
set_typ=set_typ
|
2381
2691
|
)
|
2382
2692
|
return True
|
2383
2693
|
|
@@ -2491,6 +2801,19 @@ class MysqlDatasQuery:
|
|
2491
2801
|
reset_id=True, # 是否重置自增列
|
2492
2802
|
set_typ=set_typ,
|
2493
2803
|
)
|
2804
|
+
company_engine.df_to_mysql(
|
2805
|
+
df=df,
|
2806
|
+
db_name=db_name,
|
2807
|
+
table_name=table_name,
|
2808
|
+
icm_update=[], # 增量更新, 在聚合数据中使用,其他不要用
|
2809
|
+
move_insert=True, # 先删除,再插入
|
2810
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
2811
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2812
|
+
count=None,
|
2813
|
+
filename=None, # 用来追踪处理进度
|
2814
|
+
reset_id=True, # 是否重置自增列
|
2815
|
+
set_typ=set_typ,
|
2816
|
+
)
|
2494
2817
|
return True
|
2495
2818
|
|
2496
2819
|
@try_except
|
@@ -2902,6 +3225,19 @@ class MysqlDatasQuery:
|
|
2902
3225
|
reset_id=True, # 是否重置自增列
|
2903
3226
|
set_typ=set_typ,
|
2904
3227
|
)
|
3228
|
+
company_engine.df_to_mysql(
|
3229
|
+
df=df,
|
3230
|
+
db_name=db_name,
|
3231
|
+
table_name=table_name,
|
3232
|
+
icm_update=[], # 增量更新, 在聚合数据中使用,其他不要用
|
3233
|
+
move_insert=True, # 先删除,再插入
|
3234
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
3235
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
3236
|
+
count=None,
|
3237
|
+
filename=None, # 用来追踪处理进度
|
3238
|
+
reset_id=True, # 是否重置自增列
|
3239
|
+
set_typ=set_typ,
|
3240
|
+
)
|
2905
3241
|
return True
|
2906
3242
|
|
2907
3243
|
# @try_except
|
@@ -3012,6 +3348,19 @@ class MysqlDatasQuery:
|
|
3012
3348
|
reset_id=True, # 是否重置自增列
|
3013
3349
|
set_typ=set_typ,
|
3014
3350
|
)
|
3351
|
+
company_engine.df_to_mysql(
|
3352
|
+
df=df,
|
3353
|
+
db_name=db_name,
|
3354
|
+
table_name=table_name,
|
3355
|
+
icm_update=[], # 增量更新, 在聚合数据中使用,其他不要用
|
3356
|
+
move_insert=True, # 先删除,再插入
|
3357
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
3358
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
3359
|
+
count=None,
|
3360
|
+
filename=None, # 用来追踪处理进度
|
3361
|
+
reset_id=True, # 是否重置自增列
|
3362
|
+
set_typ=set_typ,
|
3363
|
+
)
|
3015
3364
|
return True
|
3016
3365
|
|
3017
3366
|
# @try_except
|
@@ -3083,6 +3432,19 @@ class MysqlDatasQuery:
|
|
3083
3432
|
reset_id=True, # 是否重置自增列
|
3084
3433
|
set_typ=set_typ,
|
3085
3434
|
)
|
3435
|
+
company_engine.df_to_mysql(
|
3436
|
+
df=df,
|
3437
|
+
db_name=db_name,
|
3438
|
+
table_name=table_name,
|
3439
|
+
icm_update=[], # 增量更新, 在聚合数据中使用,其他不要用
|
3440
|
+
move_insert=True, # 先删除,再插入
|
3441
|
+
df_sql=False, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
3442
|
+
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
3443
|
+
count=None,
|
3444
|
+
filename=None, # 用来追踪处理进度
|
3445
|
+
reset_id=True, # 是否重置自增列
|
3446
|
+
set_typ=set_typ,
|
3447
|
+
)
|
3086
3448
|
return True
|
3087
3449
|
|
3088
3450
|
|
mdbq/mysql/mysql.py
CHANGED
@@ -98,14 +98,17 @@ class MysqlUpload:
|
|
98
98
|
self.password = password
|
99
99
|
self.host = host
|
100
100
|
self.port = port
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
101
|
+
if username == '' or password == '' or host == '' or port == 0:
|
102
|
+
self.config = None
|
103
|
+
else:
|
104
|
+
self.config = {
|
105
|
+
'host': self.host,
|
106
|
+
'port': int(self.port),
|
107
|
+
'user': self.username,
|
108
|
+
'password': self.password,
|
109
|
+
'charset': charset, # utf8mb4 支持存储四字节的UTF-8字符集
|
110
|
+
'cursorclass': pymysql.cursors.DictCursor,
|
111
|
+
}
|
109
112
|
self.filename = None
|
110
113
|
|
111
114
|
@staticmethod
|
@@ -192,6 +195,8 @@ class MysqlUpload:
|
|
192
195
|
filename:
|
193
196
|
reset_id:
|
194
197
|
"""
|
198
|
+
if not self.config:
|
199
|
+
return
|
195
200
|
if '数据主体' not in dict_data.keys():
|
196
201
|
print(f'dict_data 中"数据主体"键不能为空')
|
197
202
|
return
|
@@ -320,7 +325,6 @@ class MysqlUpload:
|
|
320
325
|
connection.rollback()
|
321
326
|
connection.commit()
|
322
327
|
|
323
|
-
|
324
328
|
@try_except
|
325
329
|
def dict_to_mysql(self, db_name, table_name, dict_data, icm_update=None, main_key=None, unique_main_key=None, index_length=100, set_typ=None, allow_not_null=False, cut_data=None):
|
326
330
|
"""
|
@@ -333,6 +337,8 @@ class MysqlUpload:
|
|
333
337
|
set_typ: {}
|
334
338
|
allow_not_null: 创建允许插入空值的列,正常情况下不允许空值
|
335
339
|
"""
|
340
|
+
if not self.config:
|
341
|
+
return
|
336
342
|
if icm_update:
|
337
343
|
if main_key or unique_main_key:
|
338
344
|
print(f'icm_update/unique_main_key/unique_main_key 参数不能同时设定')
|
@@ -672,6 +678,8 @@ class MysqlUpload:
|
|
672
678
|
filename: 用来追踪处理进度,传这个参数是方便定位产生错误的文件
|
673
679
|
allow_not_null: 创建允许插入空值的列,正常情况下不允许空值
|
674
680
|
"""
|
681
|
+
if not self.config:
|
682
|
+
return
|
675
683
|
if icm_update:
|
676
684
|
if move_insert or df_sql or drop_duplicates:
|
677
685
|
print(f'icm_update/move_insert/df_sql/drop_duplicates 参数不能同时设定')
|
mdbq/spider/aikucun.py
CHANGED
@@ -47,23 +47,55 @@ else:
|
|
47
47
|
Share_Path = str(pathlib.Path('/Volumes/时尚事业部/01.运营部/天猫报表')) # 共享文件根目录
|
48
48
|
Source_Path = str(pathlib.Path(Data_Path, '原始文件2'))
|
49
49
|
upload_path = os.path.join(D_PATH, '数据上传中心') # 此目录位于下载文件夹
|
50
|
+
|
51
|
+
m_engine = mysql.MysqlUpload(username='', password='', host='', port=0, charset='utf8mb4')
|
52
|
+
company_engine = mysql.MysqlUpload(username='', password='', host='', port=0, charset='utf8mb4')
|
53
|
+
|
50
54
|
if socket.gethostname() == 'company' or socket.gethostname() == 'Mac2.local':
|
51
55
|
conf = myconfig.main()
|
56
|
+
conf_data = conf['Windows']['xigua_lx']['mysql']['remoto']
|
57
|
+
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
58
|
+
m_engine = mysql.MysqlUpload(
|
59
|
+
username=username,
|
60
|
+
password=password,
|
61
|
+
host=host,
|
62
|
+
port=port,
|
63
|
+
charset='utf8mb4'
|
64
|
+
)
|
52
65
|
conf_data = conf['Windows']['company']['mysql']['local']
|
53
|
-
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data[
|
54
|
-
|
66
|
+
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
67
|
+
company_engine = mysql.MysqlUpload(
|
68
|
+
username=username,
|
69
|
+
password=password,
|
70
|
+
host=host,
|
71
|
+
port=port,
|
72
|
+
charset='utf8mb4'
|
73
|
+
)
|
74
|
+
targe_host = 'company'
|
75
|
+
|
55
76
|
else:
|
56
77
|
conf = myconfig.main()
|
78
|
+
|
79
|
+
conf_data = conf['Windows']['company']['mysql']['remoto']
|
80
|
+
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
81
|
+
company_engine = mysql.MysqlUpload(
|
82
|
+
username=username,
|
83
|
+
password=password,
|
84
|
+
host=host,
|
85
|
+
port=port,
|
86
|
+
charset='utf8mb4'
|
87
|
+
)
|
88
|
+
|
57
89
|
conf_data = conf['Windows']['xigua_lx']['mysql']['local']
|
58
|
-
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data[
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
90
|
+
username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
|
91
|
+
m_engine = mysql.MysqlUpload(
|
92
|
+
username=username,
|
93
|
+
password=password,
|
94
|
+
host=host,
|
95
|
+
port=port,
|
96
|
+
charset='utf8mb4'
|
97
|
+
)
|
98
|
+
targe_host = 'xigua_lx'
|
67
99
|
|
68
100
|
|
69
101
|
def get_cookie_aikucun():
|
@@ -382,6 +414,14 @@ class AikuCun:
|
|
382
414
|
unique_main_key=None,
|
383
415
|
set_typ=set_typ,
|
384
416
|
)
|
417
|
+
company_engine.dict_to_mysql(
|
418
|
+
db_name='爱库存2',
|
419
|
+
table_name='商品spu榜单',
|
420
|
+
dict_data=new_dict,
|
421
|
+
icm_update=['日期', '店铺名称', 'spu_id', '商品款号'],
|
422
|
+
unique_main_key=None,
|
423
|
+
set_typ=set_typ,
|
424
|
+
)
|
385
425
|
|
386
426
|
# m_engine.df_to_mysql(
|
387
427
|
# df=df,
|
@@ -396,6 +436,19 @@ class AikuCun:
|
|
396
436
|
# reset_id=False, # 是否重置自增列
|
397
437
|
# set_typ=set_typ,
|
398
438
|
# )
|
439
|
+
# company_engine.df_to_mysql(
|
440
|
+
# df=df,
|
441
|
+
# db_name='爱库存2',
|
442
|
+
# table_name='商品spu榜单',
|
443
|
+
# icm_update=[], # 增量更新, 在聚合数据中使用,其他不要用
|
444
|
+
# move_insert=False, # 先删除,再插入
|
445
|
+
# df_sql=True, # 值为 True 时使用 df.to_sql 函数上传整个表, 不会排重
|
446
|
+
# drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
447
|
+
# count=None,
|
448
|
+
# filename=None, # 用来追踪处理进度
|
449
|
+
# reset_id=False, # 是否重置自增列
|
450
|
+
# set_typ=set_typ,
|
451
|
+
# )
|
399
452
|
|
400
453
|
new_name = f'爱库存_商品榜单_spu_{date}_{date}.csv'
|
401
454
|
df.to_csv(os.path.join(root, new_name), encoding='utf-8_sig', index=False)
|
@@ -5,7 +5,7 @@ mdbq/aggregation/aggregation.py,sha256=-yzApnlqSN2L0E1YMu5ml-W827qpKQvWPCOI7jj2k
|
|
5
5
|
mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
|
6
6
|
mdbq/aggregation/mysql_types.py,sha256=YTGyrF9vcRgfkQbpT-e-JdJ7c7VF1dDHgyx9YZRES8w,10934
|
7
7
|
mdbq/aggregation/optimize_data.py,sha256=RXIv7cACCgYyehAxMjUYi_S7rVyjIwXKWMaM3nduGtA,3068
|
8
|
-
mdbq/aggregation/query_data.py,sha256=
|
8
|
+
mdbq/aggregation/query_data.py,sha256=4C9BmMUV4x1YvezIySO5Nh8tqGqg1z4GVnuYDGU5OJs,167595
|
9
9
|
mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
|
10
10
|
mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
|
11
11
|
mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
|
@@ -26,7 +26,7 @@ mdbq/log/mylogger.py,sha256=oaT7Bp-Hb9jZt52seP3ISUuxVcI19s4UiqTeouScBO0,3258
|
|
26
26
|
mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
|
27
27
|
mdbq/mongo/mongo.py,sha256=v9qvrp6p1ZRWuPpbSilqveiE0FEcZF7U5xUPI0RN4xs,31880
|
28
28
|
mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
|
29
|
-
mdbq/mysql/mysql.py,sha256=
|
29
|
+
mdbq/mysql/mysql.py,sha256=dpQWQTq8PpSYFPAHZRNinLuHKfrekSNYbyOxtOD0SwA,82319
|
30
30
|
mdbq/mysql/recheck_mysql.py,sha256=rgTpvDMWYTyEn7UQdlig-pdXDluTgiU8JG6lkMh8DV0,8665
|
31
31
|
mdbq/mysql/s_query.py,sha256=MbIprZ4yJDAZ9AahZPzl7hqS695Vs0P-AJNwAtA_EEc,9287
|
32
32
|
mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
|
@@ -43,8 +43,8 @@ mdbq/pbix/refresh_all_old.py,sha256=_pq3WSQ728GPtEG5pfsZI2uTJhU8D6ra-htIk1JXYzw,
|
|
43
43
|
mdbq/req_post/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
44
44
|
mdbq/req_post/req_tb.py,sha256=qg7pet73IgKGmCwxaeUyImJIoeK_pBQT9BBKD7fkBNg,36160
|
45
45
|
mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
|
46
|
-
mdbq/spider/aikucun.py,sha256=
|
47
|
-
mdbq-3.3.
|
48
|
-
mdbq-3.3.
|
49
|
-
mdbq-3.3.
|
50
|
-
mdbq-3.3.
|
46
|
+
mdbq/spider/aikucun.py,sha256=BKVa0xbTkyhIH5kQgOdyPDtwFPScbMNAFYup_-fFF9Y,24809
|
47
|
+
mdbq-3.3.3.dist-info/METADATA,sha256=2_AvXdqYGWMuln2wfqXfLKddw2h8Sbr49mK1UjEiiVU,243
|
48
|
+
mdbq-3.3.3.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
49
|
+
mdbq-3.3.3.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
50
|
+
mdbq-3.3.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|