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.
Files changed (36) hide show
  1. {mdbq-4.0.53 → mdbq-4.0.54}/PKG-INFO +1 -1
  2. mdbq-4.0.54/mdbq/__version__.py +1 -0
  3. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/aggregation/query_data.py +101 -45
  4. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/aggregation/set_typ_dict.py +8 -0
  5. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/PKG-INFO +1 -1
  6. mdbq-4.0.53/mdbq/__version__.py +0 -1
  7. {mdbq-4.0.53 → mdbq-4.0.54}/README.txt +0 -0
  8. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/__init__.py +0 -0
  9. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/aggregation/__init__.py +0 -0
  10. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/log/__init__.py +0 -0
  11. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/log/mylogger.py +0 -0
  12. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/myconf/__init__.py +0 -0
  13. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/myconf/myconf.py +0 -0
  14. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/__init__.py +0 -0
  15. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/deduplicator.py +0 -0
  16. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/mysql.py +0 -0
  17. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/s_query.py +0 -0
  18. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/unique_.py +0 -0
  19. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/mysql/uploader.py +0 -0
  20. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/__init__.py +0 -0
  21. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/download_sku_picture.py +0 -0
  22. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/error_handler.py +0 -0
  23. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/otk.py +0 -0
  24. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/pov_city.py +0 -0
  25. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/other/ua_sj.py +0 -0
  26. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/pbix/__init__.py +0 -0
  27. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/pbix/pbix_refresh.py +0 -0
  28. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/pbix/refresh_all.py +0 -0
  29. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/redis/__init__.py +0 -0
  30. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/redis/getredis.py +0 -0
  31. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq/spider/__init__.py +0 -0
  32. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/SOURCES.txt +0 -0
  33. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/dependency_links.txt +0 -0
  34. {mdbq-4.0.53 → mdbq-4.0.54}/mdbq.egg-info/top_level.txt +0 -0
  35. {mdbq-4.0.53 → mdbq-4.0.54}/setup.cfg +0 -0
  36. {mdbq-4.0.53 → mdbq-4.0.54}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mdbq
3
- Version: 4.0.53
3
+ Version: 4.0.54
4
4
  Home-page: https://pypi.org/project/mdbq
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -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 MysqlDatasQuery:
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
- _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] if len(item) > 0] # 阻止空的 dataframe
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
- sdq = MysqlDatasQuery(download_manager=download_manager) # 实例化数据处理类
3319
- sdq.months = months # 设置数据周期, 1 表示近 2 个月
3369
+ msdq = MysqlDatasQuery(download_manager=download_manager) # 实例化数据处理类
3370
+ msdq.months = months # 设置数据周期, 1 表示近 2 个月
3320
3371
  # 依赖表 -- >>
3321
- sdq.tg_wxt(db_name='聚合数据', table_name='天猫_主体报表')
3322
- sdq.tg_cjzb(db_name='聚合数据', table_name='天猫_超级直播')
3323
- sdq.pxb_zh(db_name='聚合数据', table_name='天猫_品销宝账户报表')
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
- sdq.syj(db_name='聚合数据', table_name='生意经_宝贝指标')
3327
- sdq.idbm(db_name='聚合数据', table_name='商品id编码表')
3328
- sdq.sp_picture(db_name='聚合数据', table_name='商品id图片对照表')
3329
- sdq.sp_cost(db_name='聚合数据', table_name='商品成本')
3330
- sdq.jdjzt(db_name='聚合数据', table_name='京东_京准通')
3331
- sdq.sku_sales(db_name='聚合数据', table_name='京东_sku_商品明细')
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
- sdq._ald_wxt(db_name='聚合数据', table_name='奥莱店_主体报表')
3334
- sdq._sj_wxt(db_name='聚合数据', table_name='圣积天猫店_主体报表')
3335
- sdq._tb_wxt(db_name='聚合数据', table_name='淘宝_主体报表')
3336
- sdq.jdqzyx(db_name='聚合数据', table_name='京东_京准通_全站营销')
3337
- sdq.spu_sales(db_name='聚合数据', table_name='京东_spu_商品明细')
3338
- sdq.zb_ccfx(db_name='聚合数据', table_name='生意参谋_直播场次分析')
3339
- sdq.tg_by_day(db_name='聚合数据', table_name='多店推广场景_按日聚合')
3340
- sdq.performance_concat(bb_tg=False, db_name='聚合数据', table_name='天猫_推广汇总') # _推广商品销售
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
- sdq = MysqlDatasQuery(download_manager=download_manager) # 实例化数据处理类
3345
- sdq.months = months # 设置数据周期, 1 表示近 2 个月
3346
- sdq.dplyd(db_name='聚合数据', table_name='店铺流量来源构成')
3347
- sdq.tg_rqbb(db_name='聚合数据', table_name='天猫_人群报表')
3348
- sdq.tg_gjc(db_name='聚合数据', table_name='天猫_关键词报表')
3349
- sdq.jd_gjc(db_name='聚合数据', table_name='京东_关键词报表')
3350
- sdq.se_search(db_name='聚合数据', table_name='天猫店铺来源_手淘搜索')
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
- sdq.dmp_crowd(db_name='聚合数据', table_name='达摩盘_人群报表')
3353
- sdq.deeplink(db_name='聚合数据', table_name='达摩盘_deeplink人群洞察')
3354
- sdq.global_insights(db_name='聚合数据', table_name='全域洞察')
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
- sdq = MysqlDatasQuery(download_manager=download_manager) # 实例化数据处理类
3359
- sdq.months = months # 设置数据周期, 1 表示近 2 个月
3360
- sdq.spph(db_name='聚合数据', table_name='天猫_商品排行')
3361
- sdq.item_up(db_name='聚合数据', table_name='淘宝店铺货品')
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
- download_manager = s_query.QueryDatas(
3391
- username=username,
3392
- password=password,
3393
- host=host,
3394
- port=int(port),
3395
- pool_size=10,
3396
- )
3397
- sdq = MysqlDatasQuery(download_manager=download_manager)
3398
- sdq.months = 1
3399
- sdq.dplyd(db_name='聚合数据', table_name='店铺流量来源构成')
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mdbq
3
- Version: 4.0.53
3
+ Version: 4.0.54
4
4
  Home-page: https://pypi.org/project/mdbq
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -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