mdbq 3.7.22__py3-none-any.whl → 3.7.24__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.
@@ -1011,6 +1011,36 @@ class MysqlDatasQuery:
1011
1011
  )
1012
1012
  return True
1013
1013
 
1014
+ def tg_cjzb_qzt(self, projection=None, is_maximize=True):
1015
+ start_date, end_date = self.months_data(num=self.months)
1016
+ if not projection:
1017
+ projection = {
1018
+ '日期': 1,
1019
+ '场景名字': 1,
1020
+ '计划id': 1,
1021
+ '全站花费': 1,
1022
+ '全站观看次数': 1,
1023
+ '全站宝贝点击量': 1,
1024
+ '全站成交金额': 1,
1025
+ '全站成交笔数': 1,
1026
+ '店铺名称': 1,
1027
+ }
1028
+ __res = []
1029
+ for year in range(2025, datetime.datetime.today().year + 1):
1030
+ df = self.download.data_to_df(
1031
+ db_name='推广数据2',
1032
+ table_name=f'超级直播_全站推广报表_{year}',
1033
+ start_date=start_date,
1034
+ end_date=end_date,
1035
+ projection=projection,
1036
+ )
1037
+ __res.append(df)
1038
+ df = pd.concat(__res, ignore_index=True)
1039
+ if len(df) == 0:
1040
+ return pd.DataFrame()
1041
+ return df
1042
+
1043
+
1014
1044
  @try_except
1015
1045
  def tg_cjzb(self, db_name='聚合数据', table_name='天猫_超级直播', is_maximize=True):
1016
1046
  start_date, end_date = self.months_data(num=self.months)
@@ -1042,6 +1072,21 @@ class MysqlDatasQuery:
1042
1072
  )
1043
1073
  __res.append(df)
1044
1074
  df = pd.concat(__res, ignore_index=True)
1075
+ cjzb_qzt = self.tg_cjzb_qzt(is_maximize=True)
1076
+ if len(cjzb_qzt) > 0:
1077
+ # 这里的重命名要注意,因为 tg_cjzb 函数还要重命名一次,注意改为 tg_cjzb 命名前的列名
1078
+ cjzb_qzt.rename(columns={
1079
+ '全站花费': '花费',
1080
+ '全站观看次数': '观看次数',
1081
+ '全站宝贝点击量': '点击量',
1082
+ '全站成交金额': '总成交金额',
1083
+ '全站成交笔数': '总成交笔数'
1084
+ }, inplace=True)
1085
+ for col in df.columns.tolist():
1086
+ if col not in cjzb_qzt.columns.tolist():
1087
+ cjzb_qzt[col] = 0
1088
+ df = pd.concat([df, cjzb_qzt], ignore_index=True)
1089
+
1045
1090
  df.rename(columns={
1046
1091
  '观看次数': '观看次数',
1047
1092
  '总购物车数': '加购量',
@@ -1062,6 +1107,7 @@ class MysqlDatasQuery:
1062
1107
  '观看次数': 'int64',
1063
1108
  }, errors='raise')
1064
1109
  df = df[df['花费'] > 0]
1110
+ df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d', errors='ignore') # 转换日期列
1065
1111
  if is_maximize:
1066
1112
  df = df.groupby(['日期', '店铺名称', '营销场景', '人群名字', '计划名字', '花费', '观看次数'],
1067
1113
  as_index=False).agg(
@@ -1121,6 +1167,7 @@ class MysqlDatasQuery:
1121
1167
  max_date = df['日期'].max()
1122
1168
  now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1123
1169
  logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1170
+
1124
1171
  m_engine.df_to_mysql(
1125
1172
  df=df,
1126
1173
  db_name=db_name,
@@ -2735,6 +2782,43 @@ class MysqlDatasQuery:
2735
2782
 
2736
2783
  _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] if len(item) > 0] # 阻止空的 dataframe
2737
2784
  df = pd.concat(_datas, axis=0, ignore_index=True)
2785
+ # 超级直播全站推广不包含在营销场景报表中,所以单独添加 2025-03-05
2786
+ projection = {
2787
+ '日期': 1,
2788
+ '店铺名称': 1,
2789
+ '场景id': 1,
2790
+ '场景名字': 1,
2791
+ '全站花费': 1,
2792
+ '全站观看次数': 1,
2793
+ '全站宝贝点击量': 1,
2794
+ '全站成交笔数': 1,
2795
+ '全站成交金额': 1,
2796
+ }
2797
+ cjzb_qzt = self.tg_cjzb_qzt(projection=projection, is_maximize=True)
2798
+ if len(cjzb_qzt) > 0:
2799
+ cjzb_qzt.rename(columns={
2800
+ '场景名字': '营销场景',
2801
+ '全站花费': '花费',
2802
+ '全站观看次数': '展现量',
2803
+ '全站宝贝点击量': '点击量',
2804
+ '全站成交笔数': '成交笔数',
2805
+ '全站成交金额': '成交金额',
2806
+ }, inplace=True)
2807
+ cjzb_qzt = cjzb_qzt.groupby(
2808
+ ['日期', '店铺名称', '场景id', '营销场景'],
2809
+ as_index=False).agg(
2810
+ **{
2811
+ '花费': ('花费', np.max),
2812
+ '展现量': ('展现量', np.max),
2813
+ '点击量': ('点击量', np.max),
2814
+ '成交笔数': ('成交笔数', np.max),
2815
+ '成交金额': ('成交金额', np.max)
2816
+ }
2817
+ )
2818
+ for col in df.columns.tolist():
2819
+ if col not in cjzb_qzt.columns.tolist():
2820
+ cjzb_qzt[col] = 0
2821
+ df = pd.concat([df, cjzb_qzt], ignore_index=True)
2738
2822
  df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d', errors='ignore') # 转换日期列
2739
2823
  df = df.groupby(
2740
2824
  ['日期', '店铺名称', '营销场景'],
@@ -3863,6 +3947,3 @@ if __name__ == '__main__':
3863
3947
  days=150, # 清理聚合数据的日期长度
3864
3948
  months=3 # 生成聚合数据的长度
3865
3949
  )
3866
-
3867
-
3868
-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mdbq
3
- Version: 3.7.22
3
+ Version: 3.7.24
4
4
  Home-page: https://pypi.org/project/mdbq
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -2,7 +2,7 @@ mdbq/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
2
2
  mdbq/__version__.py,sha256=y9Mp_8x0BCZSHsdLT_q5tX9wZwd5QgqrSIENLrb6vXA,62
3
3
  mdbq/aggregation/__init__.py,sha256=EeDqX2Aml6SPx8363J-v1lz0EcZtgwIBYyCJV6CcEDU,40
4
4
  mdbq/aggregation/optimize_data_bak.py,sha256=wB7prQdZAHyjzXH9V8g8X_JBMdvCCUITN1hVwK72Tdg,952
5
- mdbq/aggregation/query_data.py,sha256=PDINIPb6Q8GCHPjvI_6jtEfvzNxC3VYumNe-AtRtpIs,174306
5
+ mdbq/aggregation/query_data.py,sha256=_muZtq-5aox1bRecCv--_ScBMDVhjN8fdBFdSB-d-ww,177925
6
6
  mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
7
7
  mdbq/bdup/bdup.py,sha256=hJs815hGFwm_X5bP2i9XugG2w2ZY_F0n3-Q0hVpIPPw,4892
8
8
  mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
@@ -31,7 +31,7 @@ mdbq/redis/__init__.py,sha256=YtgBlVSMDphtpwYX248wGge1x-Ex_mMufz4-8W0XRmA,12
31
31
  mdbq/redis/getredis.py,sha256=1pTga2iINx0NV2ffl0D-aspZhrZMDQR8SpohAv1acoo,24076
32
32
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
33
33
  mdbq/spider/aikucun.py,sha256=o_QwFWbD6O2F56k6bwnpVV55EcdFCyes05ON7iu9TrA,21882
34
- mdbq-3.7.22.dist-info/METADATA,sha256=BYC9C9EFvzRhQ7awiyNxMEKAVk8sztUnPl1h08yjMmI,364
35
- mdbq-3.7.22.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
36
- mdbq-3.7.22.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
37
- mdbq-3.7.22.dist-info/RECORD,,
34
+ mdbq-3.7.24.dist-info/METADATA,sha256=XIXcOBgDC16DPVH0q9Ce0vN5OQqh-dqUkUCAyku3UQ8,364
35
+ mdbq-3.7.24.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
36
+ mdbq-3.7.24.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
37
+ mdbq-3.7.24.dist-info/RECORD,,
File without changes