mdbq 1.6.9__tar.gz → 1.7.0__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 (45) hide show
  1. {mdbq-1.6.9 → mdbq-1.7.0}/PKG-INFO +1 -1
  2. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/aggregation/query_data.py +174 -101
  3. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq.egg-info/PKG-INFO +1 -1
  4. {mdbq-1.6.9 → mdbq-1.7.0}/setup.py +1 -1
  5. {mdbq-1.6.9 → mdbq-1.7.0}/README.txt +0 -0
  6. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/__init__.py +0 -0
  7. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/__version__.py +0 -0
  8. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/aggregation/__init__.py +0 -0
  9. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/aggregation/aggregation.py +0 -0
  10. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/aggregation/df_types.py +0 -0
  11. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/aggregation/mysql_types.py +0 -0
  12. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/aggregation/optimize_data.py +0 -0
  13. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/bdup/__init__.py +0 -0
  14. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/bdup/bdup.py +0 -0
  15. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/clean/__init__.py +0 -0
  16. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/clean/data_clean.py +0 -0
  17. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/company/__init__.py +0 -0
  18. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/company/copysh.py +0 -0
  19. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/config/__init__.py +0 -0
  20. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/config/get_myconf.py +0 -0
  21. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/config/products.py +0 -0
  22. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/config/set_support.py +0 -0
  23. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/config/update_conf.py +0 -0
  24. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/dataframe/__init__.py +0 -0
  25. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/dataframe/converter.py +0 -0
  26. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/log/__init__.py +0 -0
  27. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/log/mylogger.py +0 -0
  28. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/mongo/__init__.py +0 -0
  29. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/mongo/mongo.py +0 -0
  30. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/mysql/__init__.py +0 -0
  31. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/mysql/mysql.py +0 -0
  32. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/mysql/s_query.py +0 -0
  33. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/mysql/year_month_day.py +0 -0
  34. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/other/__init__.py +0 -0
  35. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/other/porxy.py +0 -0
  36. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/other/pov_city.py +0 -0
  37. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/other/ua_sj.py +0 -0
  38. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/pbix/__init__.py +0 -0
  39. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/pbix/pbix_refresh.py +0 -0
  40. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/pbix/refresh_all.py +0 -0
  41. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq/spider/__init__.py +0 -0
  42. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq.egg-info/SOURCES.txt +0 -0
  43. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq.egg-info/dependency_links.txt +0 -0
  44. {mdbq-1.6.9 → mdbq-1.7.0}/mdbq.egg-info/top_level.txt +0 -0
  45. {mdbq-1.6.9 → mdbq-1.7.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.6.9
3
+ Version: 1.7.0
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -415,7 +415,7 @@ class GroupBy:
415
415
  print(f'query_data.groupby函数中 {table_name} 传入的 df 不是 dataframe 结构')
416
416
  return pd.DataFrame()
417
417
  # print(table_name)
418
- if '主体报表' in table_name:
418
+ if '天猫_主体报表' in table_name:
419
419
  df.rename(columns={
420
420
  '场景名字': '营销场景',
421
421
  '主体id': '商品id',
@@ -473,6 +473,11 @@ class GroupBy:
473
473
  table_name: df_new,
474
474
  }
475
475
  )
476
+ self.data_tgyj.update(
477
+ {
478
+ '天猫汇总表调用': df,
479
+ }
480
+ )
476
481
  # df_pic:商品排序索引表, 给 powerbi 中的主推款排序用的,(从上月1号到今天的总花费进行排序)
477
482
  today = datetime.date.today()
478
483
  last_month = today - datetime.timedelta(days=30)
@@ -577,7 +582,7 @@ class GroupBy:
577
582
  )
578
583
  df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
579
584
  return df
580
- elif '超级直播' in table_name:
585
+ elif '天猫_超级直播' in table_name:
581
586
  df.rename(columns={
582
587
  '观看次数': '观看次数',
583
588
  '总购物车数': '加购量',
@@ -625,6 +630,23 @@ class GroupBy:
625
630
  df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
626
631
  # df.insert(loc=2, column='营销场景', value='超级直播') # df中插入新列
627
632
  # df = df.loc[df['日期'].between(start_day, today)]
633
+ df_new = df.groupby(['日期', '推广渠道', '营销场景'], as_index=False).agg(
634
+ **{
635
+ '花费': ('花费', np.sum),
636
+ '展现量': ('展现量', np.sum),
637
+ '观看次数': ('观看次数', np.sum),
638
+ '加购量': ('加购量', np.sum),
639
+ '成交笔数': ('成交笔数', np.sum),
640
+ '成交金额': ('成交金额', np.sum),
641
+ '直接成交笔数': ('直接成交笔数', np.sum),
642
+ '直接成交金额': ('直接成交金额', np.sum),
643
+ }
644
+ )
645
+ self.data_tgyj.update(
646
+ {
647
+ table_name: df_new,
648
+ }
649
+ )
628
650
  return df
629
651
  elif '宝贝指标' in table_name:
630
652
  """ 聚合时不可以加商家编码,编码有些是空白,有些是 0 """
@@ -818,7 +840,7 @@ class GroupBy:
818
840
  def performance(self, bb_tg=True):
819
841
  # print(self.data_tgyj)
820
842
  tg, syj, idbm, pic, cost = (
821
- self.data_tgyj['主体报表'],
843
+ self.data_tgyj['天猫_主体报表'],
822
844
  self.data_tgyj['天猫生意经_宝贝指标'],
823
845
  self.data_tgyj['商品id编码表'],
824
846
  self.data_tgyj['商品id图片对照表'],
@@ -851,6 +873,44 @@ class GroupBy:
851
873
  df['盈亏'] = df.apply(lambda x: x['商品毛利'] - x['花费'], axis=1)
852
874
  return df
853
875
 
876
+ def performance_concat(self, bb_tg=True):
877
+ tg, zb = self.data_tgyj['天猫汇总表调用'], self.data_tgyj['天猫_超级直播']
878
+ zb.rename(columns={
879
+ '观看次数': '点击量',
880
+ }, inplace=True)
881
+ zb.fillna(0, inplace=True) # astype 之前要填充空值
882
+ tg.fillna(0, inplace=True)
883
+ zb = zb.astype({
884
+ '花费': float,
885
+ '展现量': int,
886
+ '点击量': int,
887
+ '加购量': int,
888
+ '成交笔数': int,
889
+ '成交金额': float,
890
+ '直接成交笔数': int,
891
+ '直接成交金额': float,
892
+ }, errors='raise')
893
+ tg = tg.astype({
894
+ '商品id': str,
895
+ '花费': float,
896
+ '展现量': int,
897
+ '点击量': int,
898
+ '加购量': int,
899
+ '成交笔数': int,
900
+ '成交金额': float,
901
+ '直接成交笔数': int,
902
+ '直接成交金额': float,
903
+ '自然流量曝光量': int,
904
+ }, errors='raise')
905
+ df = pd.concat([tg, zb], axis=0, ignore_index=True)
906
+ df.fillna(0, inplace=True) # concat 之后要填充空值
907
+ df = df.astype(
908
+ {
909
+ '自然流量曝光量': int,
910
+ }
911
+ )
912
+ return df
913
+
854
914
  def performance_jd(self, jd_tg=True):
855
915
  jdtg, sku_sales = self.data_jdtg['京东_京准通'], self.data_jdtg['京东_sku_商品明细']
856
916
  jdtg = jdtg.groupby(['日期', '跟单sku id'],
@@ -1035,76 +1095,76 @@ def data_aggregation(service_databases=[{}], months=1):
1035
1095
  data_dict = [
1036
1096
  {
1037
1097
  '数据库名': '聚合数据',
1038
- '集合名': '主体报表',
1098
+ '集合名': '天猫_主体报表',
1039
1099
  '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费'],
1040
1100
  '数据主体': sdq.tg_wxt(),
1041
1101
  },
1042
- {
1043
- '数据库名': '聚合数据',
1044
- '集合名': '天猫生意经_宝贝指标',
1045
- '唯一主键': ['日期', '宝贝id'],
1046
- '数据主体': sdq.syj(),
1047
- },
1048
- {
1049
- '数据库名': '聚合数据',
1050
- '集合名': '天猫_店铺来源_日数据',
1051
- '唯一主键': ['日期', '一级来源', '二级来源', '三级来源'],
1052
- '数据主体': sdq.dplyd(),
1053
- },
1054
- {
1055
- '数据库名': '聚合数据',
1056
- '集合名': '天猫_店铺来源_日数据_旧版',
1057
- '唯一主键': ['日期', '一级来源', '二级来源', '三级来源'],
1058
- '数据主体': sdq.dplyd_old(),
1059
- },
1060
- {
1061
- '数据库名': '聚合数据',
1062
- '集合名': '商品id编码表',
1063
- '唯一主键': ['宝贝id'],
1064
- '数据主体': sdq.idbm(),
1065
- },
1066
- {
1067
- '数据库名': '聚合数据',
1068
- '集合名': '商品id图片对照表',
1069
- '唯一主键': ['商品id'],
1070
- '数据主体': sdq.sp_picture(),
1071
- },
1072
- {
1073
- '数据库名': '聚合数据',
1074
- '集合名': '商品成本',
1075
- '唯一主键': ['款号'],
1076
- '数据主体': sdq.sp_cost(),
1077
- },
1078
- {
1079
- '数据库名': '聚合数据',
1080
- '集合名': '京东_京准通',
1081
- '唯一主键': ['日期', '产品线', '触发sku id', '跟单sku id', '花费', ],
1082
- '数据主体': sdq.jdjzt(),
1083
- },
1084
- {
1085
- '数据库名': '聚合数据',
1086
- '集合名': '京东_京准通_全站营销',
1087
- '唯一主键': ['日期', '产品线', '花费'],
1088
- '数据主体': sdq.jdqzyx(),
1089
- },
1090
- {
1091
- '数据库名': '聚合数据',
1092
- '集合名': '京东_sku_商品明细',
1093
- '唯一主键': ['日期', '商品id', '成交单量'],
1094
- '数据主体': sdq.sku_sales(),
1095
- },
1096
- {
1097
- '数据库名': '聚合数据',
1098
- '集合名': '天猫_人群报表',
1099
- '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '人群名字'],
1100
- '数据主体': sdq.tg_rqbb(),
1101
- },
1102
- {
1103
- '数据库名': '聚合数据',
1104
- '集合名': '天猫_关键词报表',
1105
- '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '词类型', '词名字/词包名字',],
1106
- '数据主体': sdq.tg_gjc(),
1107
- },
1102
+ # {
1103
+ # '数据库名': '聚合数据',
1104
+ # '集合名': '天猫生意经_宝贝指标',
1105
+ # '唯一主键': ['日期', '宝贝id'],
1106
+ # '数据主体': sdq.syj(),
1107
+ # },
1108
+ # {
1109
+ # '数据库名': '聚合数据',
1110
+ # '集合名': '天猫_店铺来源_日数据',
1111
+ # '唯一主键': ['日期', '一级来源', '二级来源', '三级来源'],
1112
+ # '数据主体': sdq.dplyd(),
1113
+ # },
1114
+ # {
1115
+ # '数据库名': '聚合数据',
1116
+ # '集合名': '天猫_店铺来源_日数据_旧版',
1117
+ # '唯一主键': ['日期', '一级来源', '二级来源', '三级来源'],
1118
+ # '数据主体': sdq.dplyd_old(),
1119
+ # },
1120
+ # {
1121
+ # '数据库名': '聚合数据',
1122
+ # '集合名': '商品id编码表',
1123
+ # '唯一主键': ['宝贝id'],
1124
+ # '数据主体': sdq.idbm(),
1125
+ # },
1126
+ # {
1127
+ # '数据库名': '聚合数据',
1128
+ # '集合名': '商品id图片对照表',
1129
+ # '唯一主键': ['商品id'],
1130
+ # '数据主体': sdq.sp_picture(),
1131
+ # },
1132
+ # {
1133
+ # '数据库名': '聚合数据',
1134
+ # '集合名': '商品成本',
1135
+ # '唯一主键': ['款号'],
1136
+ # '数据主体': sdq.sp_cost(),
1137
+ # },
1138
+ # {
1139
+ # '数据库名': '聚合数据',
1140
+ # '集合名': '京东_京准通',
1141
+ # '唯一主键': ['日期', '产品线', '触发sku id', '跟单sku id', '花费', ],
1142
+ # '数据主体': sdq.jdjzt(),
1143
+ # },
1144
+ # {
1145
+ # '数据库名': '聚合数据',
1146
+ # '集合名': '京东_京准通_全站营销',
1147
+ # '唯一主键': ['日期', '产品线', '花费'],
1148
+ # '数据主体': sdq.jdqzyx(),
1149
+ # },
1150
+ # {
1151
+ # '数据库名': '聚合数据',
1152
+ # '集合名': '京东_sku_商品明细',
1153
+ # '唯一主键': ['日期', '商品id', '成交单量'],
1154
+ # '数据主体': sdq.sku_sales(),
1155
+ # },
1156
+ # {
1157
+ # '数据库名': '聚合数据',
1158
+ # '集合名': '天猫_人群报表',
1159
+ # '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '人群名字'],
1160
+ # '数据主体': sdq.tg_rqbb(),
1161
+ # },
1162
+ # {
1163
+ # '数据库名': '聚合数据',
1164
+ # '集合名': '天猫_关键词报表',
1165
+ # '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '词类型', '词名字/词包名字',],
1166
+ # '数据主体': sdq.tg_gjc(),
1167
+ # },
1108
1168
  {
1109
1169
  '数据库名': '聚合数据',
1110
1170
  '集合名': '天猫_超级直播',
@@ -1116,15 +1176,15 @@ def data_aggregation(service_databases=[{}], months=1):
1116
1176
  db_name, table_name, unique_key_list, df = items['数据库名'], items['集合名'], items['唯一主键'], items['数据主体']
1117
1177
  df = g.groupby(df=df, table_name=table_name, is_maximize=True) # 2. 聚合数据
1118
1178
  if len(g.sp_index_datas) != 0:
1119
- # 由推广主体报表,写入一个商品索引表,索引规则:从上月 1 号至今花费从高到低排序
1120
- m.df_to_mysql(
1121
- df=g.sp_index_datas,
1122
- db_name='属性设置2',
1123
- table_name='商品索引表',
1124
- drop_duplicates=False,
1125
- icm_update=['商品id'],
1126
- service_database=service_database,
1127
- )
1179
+ # # 由推广主体报表,写入一个商品索引表,索引规则:从上月 1 号至今花费从高到低排序
1180
+ # m.df_to_mysql(
1181
+ # df=g.sp_index_datas,
1182
+ # db_name='属性设置2',
1183
+ # table_name='商品索引表',
1184
+ # drop_duplicates=False,
1185
+ # icm_update=['商品id'],
1186
+ # service_database=service_database,
1187
+ # )
1128
1188
  g.sp_index_datas = pd.DataFrame() # 重置,不然下个循环会继续刷入数据库
1129
1189
  # g.as_csv(df=df, filename=table_name + '.csv') # 导出 csv
1130
1190
  m.df_to_mysql(
@@ -1135,33 +1195,46 @@ def data_aggregation(service_databases=[{}], months=1):
1135
1195
  icm_update=unique_key_list,
1136
1196
  service_database=service_database,
1137
1197
  ) # 3. 回传数据库
1138
- res = g.performance(bb_tg=True) # 盈亏表,依赖其他表,单独做
1139
- m.df_to_mysql(
1140
- df=res,
1141
- db_name='聚合数据',
1142
- table_name='_全店商品销售',
1143
- drop_duplicates=False,
1144
- icm_update=['日期', '商品id'], # 设置唯一主键
1145
- service_database=service_database,
1146
- )
1147
- res = g.performance(bb_tg=False) # 盈亏表,依赖其他表,单独做
1198
+ # res = g.performance(bb_tg=True) # 盈亏表,依赖其他表,单独做
1199
+ # m.df_to_mysql(
1200
+ # df=res,
1201
+ # db_name='聚合数据',
1202
+ # table_name='_全店商品销售',
1203
+ # drop_duplicates=False,
1204
+ # icm_update=['日期', '商品id'], # 设置唯一主键
1205
+ # service_database=service_database,
1206
+ # )
1207
+ # res = g.performance(bb_tg=False) # 盈亏表,依赖其他表,单独做
1208
+ # m.df_to_mysql(
1209
+ # df=res,
1210
+ # db_name='聚合数据',
1211
+ # table_name='_推广商品销售',
1212
+ # drop_duplicates=False,
1213
+ # icm_update=['日期', '商品id'], # 设置唯一主键
1214
+ # service_database=service_database,
1215
+ # )
1216
+
1217
+ res = g.performance_concat(bb_tg=False) # 推广主体合并直播表,依赖其他表,单独做
1148
1218
  m.df_to_mysql(
1149
1219
  df=res,
1150
1220
  db_name='聚合数据',
1151
- table_name='_推广商品销售',
1221
+ table_name='天猫_推广汇总',
1152
1222
  drop_duplicates=False,
1153
1223
  icm_update=['日期', '商品id'], # 设置唯一主键
1154
1224
  service_database=service_database,
1155
1225
  )
1156
- res = g.performance_jd(jd_tg=False) # 盈亏表,依赖其他表,单独做
1157
- m.df_to_mysql(
1158
- df=res,
1159
- db_name='聚合数据',
1160
- table_name='_京东_推广商品销售',
1161
- drop_duplicates=False,
1162
- icm_update=['日期', '跟单sku id', '货号', '花费'], # 设置唯一主键
1163
- service_database=service_database,
1164
- )
1226
+
1227
+
1228
+ # res = g.performance_jd(jd_tg=False) # 盈亏表,依赖其他表,单独做
1229
+ # m.df_to_mysql(
1230
+ # df=res,
1231
+ # db_name='聚合数据',
1232
+ # table_name='_京东_推广商品销售',
1233
+ # drop_duplicates=False,
1234
+ # icm_update=['日期', '跟单sku id', '货号', '花费'], # 设置唯一主键
1235
+ # service_database=service_database,
1236
+ # )
1237
+
1165
1238
 
1166
1239
  # 这里要注释掉,不然 copysh.py 可能有问题,这里主要修改配置文件,后续触发 home_lx 的 optimize_datas.py(有s)程序进行全局清理
1167
1240
  # optimize_data.op_data(service_databases=service_databases, days=3650) # 立即启动对聚合数据的清理工作
@@ -1172,7 +1245,7 @@ def main():
1172
1245
 
1173
1246
 
1174
1247
  if __name__ == '__main__':
1175
- data_aggregation(service_databases=[{'company': 'mysql'}], months=1) # 正常的聚合所有数据
1176
- # data_aggregation_one(service_databases=[{'home_lx': 'mysql'}], months=1) # 单独聚合某一个数据库,具体库进函数编辑
1248
+ data_aggregation(service_databases=[{'company': 'mysql'}], months=24) # 正常的聚合所有数据
1249
+ # data_aggregation_one(service_databases=[{'company': 'mysql'}], months=1) # 单独聚合某一个数据库,具体库进函数编辑
1177
1250
  # optimize_data.op_data(service_databases=[{'company': 'mysql'}], days=3650) # 立即启动对聚合数据的清理工作
1178
1251
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.6.9
3
+ Version: 1.7.0
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -3,7 +3,7 @@
3
3
  from setuptools import setup, find_packages
4
4
 
5
5
  setup(name='mdbq',
6
- version='1.6.9',
6
+ version='1.7.0',
7
7
  author='xigua, ',
8
8
  author_email="2587125111@qq.com",
9
9
  url='https://pypi.org/project/mdbsql',
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes