mdbq 4.0.53__tar.gz → 4.0.54__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-4.0.53 → mdbq-4.0.54}/PKG-INFO +1 -1
- mdbq-4.0.54/mdbq/__version__.py +1 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/aggregation/query_data.py +101 -45
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/aggregation/set_typ_dict.py +8 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/PKG-INFO +1 -1
- mdbq-4.0.53/mdbq/__version__.py +0 -1
- {mdbq-4.0.53 → mdbq-4.0.54}/README.txt +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/log/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/log/mylogger.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/myconf/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/myconf/myconf.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/deduplicator.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/mysql.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/s_query.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/unique_.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/uploader.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/download_sku_picture.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/error_handler.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/otk.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/pov_city.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/ua_sj.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/pbix/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/redis/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/redis/getredis.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/spider/__init__.py +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/setup.cfg +0 -0
- {mdbq-4.0.53 → mdbq-4.0.54}/setup.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
VERSION = '4.0.54'
|
@@ -211,7 +211,7 @@ def upload_data_decorator(**upload_kwargs):
|
|
211
211
|
return decorator
|
212
212
|
|
213
213
|
|
214
|
-
class
|
214
|
+
class ShopDataQuery:
|
215
215
|
"""
|
216
216
|
从数据库中下载数据
|
217
217
|
"""
|
@@ -265,6 +265,7 @@ class MysqlDatasQuery:
|
|
265
265
|
}
|
266
266
|
|
267
267
|
def _get_tg_data(self, db_name='聚合数据', table_name='多店推广场景_按日聚合', shop_list:dict=None):
|
268
|
+
"""获取推广数据"""
|
268
269
|
start_date, end_date = self.months_data(num=self.months)
|
269
270
|
projection = ['日期', '店铺名称', '营销场景', '花费']
|
270
271
|
df = self.download_manager.data_to_df(
|
@@ -377,6 +378,15 @@ class MysqlDatasQuery:
|
|
377
378
|
return df
|
378
379
|
|
379
380
|
|
381
|
+
class MysqlDatasQuery:
|
382
|
+
"""
|
383
|
+
从数据库中下载数据
|
384
|
+
"""
|
385
|
+
def __init__(self, download_manager):
|
386
|
+
self.months = 0 # 下载几个月数据, 0 表示当月, 1 是上月 1 号至今
|
387
|
+
self.download_manager = download_manager
|
388
|
+
self.pf_datas = []
|
389
|
+
|
380
390
|
# @error_handler.log_on_exception(logger=logger)
|
381
391
|
def tg_wxt(self, db_name='聚合数据', table_name='天猫_主体报表', is_maximize=True):
|
382
392
|
start_date, end_date = self.months_data(num=self.months)
|
@@ -2121,6 +2131,39 @@ class MysqlDatasQuery:
|
|
2121
2131
|
'transaction_mode': 'batch', # 事务模式
|
2122
2132
|
'unique_keys': [['日期', '店铺名称', '词类型', '搜索词']], # 唯一约束列表
|
2123
2133
|
}
|
2134
|
+
|
2135
|
+
def pdd_tg(self, db_name='聚合数据', table_name='拼多多_商品推广'):
|
2136
|
+
"""拼多多商品推广数据"""
|
2137
|
+
start_date, end_date = self.months_data(num=self.months)
|
2138
|
+
projection = ['日期', '店铺名称', '营销场景', '商品id', '总花费']
|
2139
|
+
df = self.download_manager.data_to_df(
|
2140
|
+
db_name='爱库存2',
|
2141
|
+
table_name='拼多多_商品推广',
|
2142
|
+
start_date=start_date,
|
2143
|
+
end_date=end_date,
|
2144
|
+
projection=projection,
|
2145
|
+
)
|
2146
|
+
if len(df) == 0:
|
2147
|
+
return None, None
|
2148
|
+
df = df.groupby(['日期', '店铺名称', '营销场景'], as_index=False).agg({'总花费': 'sum'}).rename(columns={'总花费': '花费'})
|
2149
|
+
set_typ = SET_TYP_DICT.get(f'{db_name}_{table_name}', {})
|
2150
|
+
return df, {
|
2151
|
+
'db_name': db_name,
|
2152
|
+
'table_name': table_name,
|
2153
|
+
'set_typ': set_typ,
|
2154
|
+
'primary_keys': [], # 创建唯一主键
|
2155
|
+
'check_duplicate': False, # 检查重复数据
|
2156
|
+
'duplicate_columns': [], # 指定排重的组合键
|
2157
|
+
'update_on_duplicate': True, # 更新旧数据
|
2158
|
+
'allow_null': False, # 允许插入空值
|
2159
|
+
'partition_by': None, # 分表方式
|
2160
|
+
'partition_date_column': '日期', # 用于分表的日期列名,默认为'日期'
|
2161
|
+
'indexes': [], # 普通索引列
|
2162
|
+
'transaction_mode': 'batch', # 事务模式
|
2163
|
+
'unique_keys': [['日期', '店铺名称', '营销场景']], # 唯一约束列表
|
2164
|
+
}
|
2165
|
+
|
2166
|
+
|
2124
2167
|
|
2125
2168
|
@error_handler.log_on_exception(logger=logger)
|
2126
2169
|
@upload_data_decorator()
|
@@ -2202,6 +2245,7 @@ class MysqlDatasQuery:
|
|
2202
2245
|
df_jd = pd.DataFrame() # 京东推广
|
2203
2246
|
df_jd_qzyx = pd.DataFrame() # 京东全站推广
|
2204
2247
|
df_jd_ziying = pd.DataFrame() # 京东推广
|
2248
|
+
df_pdd = pd.DataFrame() # 拼多多推广
|
2205
2249
|
start_date, end_date = self.months_data(num=self.months)
|
2206
2250
|
projection = {
|
2207
2251
|
'日期': 1,
|
@@ -2566,7 +2610,14 @@ class MysqlDatasQuery:
|
|
2566
2610
|
df_jd_ziying.rename(columns={'产品线': '营销场景', '展现数': '展现量', '点击数': '点击量'}, inplace=True)
|
2567
2611
|
df_jd_ziying = df_jd_ziying[df_jd_ziying['花费'] > 0]
|
2568
2612
|
|
2569
|
-
|
2613
|
+
# 拼多多推广
|
2614
|
+
df_pdd, _ = self.pdd_tg(db_name='聚合数据', table_name='拼多多_商品推广')
|
2615
|
+
df_pdd['店铺名称'] = df_pdd['店铺名称'].map({
|
2616
|
+
'万里马箱包官方旗舰店': '拼多多_丹宁',
|
2617
|
+
'万里马箱包皮具官方旗舰店': '拼多多_togo',
|
2618
|
+
}).fillna('-')
|
2619
|
+
|
2620
|
+
_datas = [item for item in [df_tm, df_tb, df_tb_qzt, df_al, df_sj, df_tm_pxb, df_tm_living, df_jd, df_jd_qzyx, df_jd_ziying, df_pdd] if len(item) > 0] # 阻止空的 dataframe
|
2570
2621
|
df = pd.concat(_datas, axis=0, ignore_index=True)
|
2571
2622
|
# 超级直播全站推广不包含在营销场景报表中,所以单独添加 2025-03-05
|
2572
2623
|
projection = {
|
@@ -3315,50 +3366,50 @@ def date_table():
|
|
3315
3366
|
|
3316
3367
|
|
3317
3368
|
def query1(months=1, download_manager=None):
|
3318
|
-
|
3319
|
-
|
3369
|
+
msdq = MysqlDatasQuery(download_manager=download_manager) # 实例化数据处理类
|
3370
|
+
msdq.months = months # 设置数据周期, 1 表示近 2 个月
|
3320
3371
|
# 依赖表 -- >>
|
3321
|
-
|
3322
|
-
|
3323
|
-
|
3372
|
+
msdq.tg_wxt(db_name='聚合数据', table_name='天猫_主体报表')
|
3373
|
+
msdq.tg_cjzb(db_name='聚合数据', table_name='天猫_超级直播')
|
3374
|
+
msdq.pxb_zh(db_name='聚合数据', table_name='天猫_品销宝账户报表')
|
3324
3375
|
# 依赖表 << --
|
3325
3376
|
|
3326
|
-
|
3327
|
-
|
3328
|
-
|
3329
|
-
|
3330
|
-
|
3331
|
-
|
3377
|
+
msdq.syj(db_name='聚合数据', table_name='生意经_宝贝指标')
|
3378
|
+
msdq.idbm(db_name='聚合数据', table_name='商品id编码表')
|
3379
|
+
msdq.sp_picture(db_name='聚合数据', table_name='商品id图片对照表')
|
3380
|
+
msdq.sp_cost(db_name='聚合数据', table_name='商品成本')
|
3381
|
+
msdq.jdjzt(db_name='聚合数据', table_name='京东_京准通')
|
3382
|
+
msdq.sku_sales(db_name='聚合数据', table_name='京东_sku_商品明细')
|
3332
3383
|
|
3333
|
-
|
3334
|
-
|
3335
|
-
|
3336
|
-
|
3337
|
-
|
3338
|
-
|
3339
|
-
|
3340
|
-
|
3384
|
+
msdq._ald_wxt(db_name='聚合数据', table_name='奥莱店_主体报表')
|
3385
|
+
msdq._sj_wxt(db_name='聚合数据', table_name='圣积天猫店_主体报表')
|
3386
|
+
msdq._tb_wxt(db_name='聚合数据', table_name='淘宝_主体报表')
|
3387
|
+
msdq.jdqzyx(db_name='聚合数据', table_name='京东_京准通_全站营销')
|
3388
|
+
msdq.spu_sales(db_name='聚合数据', table_name='京东_spu_商品明细')
|
3389
|
+
msdq.zb_ccfx(db_name='聚合数据', table_name='生意参谋_直播场次分析')
|
3390
|
+
msdq.tg_by_day(db_name='聚合数据', table_name='多店推广场景_按日聚合')
|
3391
|
+
msdq.performance_concat(bb_tg=False, db_name='聚合数据', table_name='天猫_推广汇总') # _推广商品销售
|
3341
3392
|
|
3342
3393
|
|
3343
3394
|
def query2(months=1, download_manager=None):
|
3344
|
-
|
3345
|
-
|
3346
|
-
|
3347
|
-
|
3348
|
-
|
3349
|
-
|
3350
|
-
|
3395
|
+
msdq = MysqlDatasQuery(download_manager=download_manager) # 实例化数据处理类
|
3396
|
+
msdq.months = months # 设置数据周期, 1 表示近 2 个月
|
3397
|
+
msdq.dplyd(db_name='聚合数据', table_name='店铺流量来源构成')
|
3398
|
+
msdq.tg_rqbb(db_name='聚合数据', table_name='天猫_人群报表')
|
3399
|
+
msdq.tg_gjc(db_name='聚合数据', table_name='天猫_关键词报表')
|
3400
|
+
msdq.jd_gjc(db_name='聚合数据', table_name='京东_关键词报表')
|
3401
|
+
msdq.se_search(db_name='聚合数据', table_name='天猫店铺来源_手淘搜索')
|
3351
3402
|
# sdq.aikucun_bd_spu(db_name='聚合数据', table_name='爱库存_商品spu榜单')
|
3352
|
-
|
3353
|
-
|
3354
|
-
|
3403
|
+
msdq.dmp_crowd(db_name='聚合数据', table_name='达摩盘_人群报表')
|
3404
|
+
msdq.deeplink(db_name='聚合数据', table_name='达摩盘_deeplink人群洞察')
|
3405
|
+
msdq.global_insights(db_name='聚合数据', table_name='全域洞察')
|
3355
3406
|
|
3356
3407
|
|
3357
3408
|
def query3(months=1, download_manager=None):
|
3358
|
-
|
3359
|
-
|
3360
|
-
|
3361
|
-
|
3409
|
+
msdq = MysqlDatasQuery(download_manager=download_manager) # 实例化数据处理类
|
3410
|
+
msdq.months = months # 设置数据周期, 1 表示近 2 个月
|
3411
|
+
msdq.spph(db_name='聚合数据', table_name='天猫_商品排行')
|
3412
|
+
msdq.item_up(db_name='聚合数据', table_name='淘宝店铺货品')
|
3362
3413
|
|
3363
3414
|
|
3364
3415
|
def main(months=3):
|
@@ -3387,13 +3438,18 @@ if __name__ == '__main__':
|
|
3387
3438
|
# main(months=3)
|
3388
3439
|
pass
|
3389
3440
|
|
3390
|
-
|
3391
|
-
username
|
3392
|
-
password
|
3393
|
-
host
|
3394
|
-
port
|
3395
|
-
pool_size
|
3396
|
-
|
3397
|
-
|
3398
|
-
|
3399
|
-
|
3441
|
+
db_config = {
|
3442
|
+
'username': username,
|
3443
|
+
'password': password,
|
3444
|
+
'host': host,
|
3445
|
+
'port': int(port),
|
3446
|
+
'pool_size': 20,
|
3447
|
+
'mincached': 5,
|
3448
|
+
'maxcached': 10,
|
3449
|
+
}
|
3450
|
+
with s_query.QueryDatas(**db_config) as download_manager:
|
3451
|
+
# shdq = ShopDataQuery(download_manager=download_manager)
|
3452
|
+
# shdq.months = 1
|
3453
|
+
# shdq.shops_concat(db_name='聚合数据', table_name='多店聚合_日报')
|
3454
|
+
|
3455
|
+
query1(download_manager=download_manager, months=1)
|
@@ -603,6 +603,14 @@ SET_TYP_DICT = {
|
|
603
603
|
'三级来源索引': 'smallint',
|
604
604
|
'更新时间': 'timestamp',
|
605
605
|
},
|
606
|
+
'爱库存2_拼多多_商品推广': {
|
607
|
+
'日期': 'date',
|
608
|
+
'店铺名称': 'varchar(255)',
|
609
|
+
'营销场景': 'varchar(128)',
|
610
|
+
'商品id': 'bigint',
|
611
|
+
'商品名称': 'varchar(255)',
|
612
|
+
'实际消耗': 'decimal(10,2)',
|
613
|
+
},
|
606
614
|
}
|
607
615
|
|
608
616
|
|
mdbq-4.0.53/mdbq/__version__.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
VERSION = '4.0.53'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|