mdbq 1.6.0__tar.gz → 1.6.1__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-1.6.0 → mdbq-1.6.1}/PKG-INFO +1 -1
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/aggregation/aggregation.py +18 -18
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/aggregation/query_data.py +90 -8
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-1.6.0 → mdbq-1.6.1}/setup.py +1 -1
- {mdbq-1.6.0 → mdbq-1.6.1}/README.txt +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/__version__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/aggregation/mysql_types.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/bdup/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/bdup/bdup.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/clean/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/clean/data_clean.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/company/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/company/copysh.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/config/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/config/get_myconf.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/config/products.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/config/set_support.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/config/update_conf.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/dataframe/converter.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/log/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/log/mylogger.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/mongo/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/mongo/mongo.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/mysql/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/mysql/mysql.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/mysql/s_query.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/other/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/other/porxy.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/other/pov_city.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/other/ua_sj.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/pbix/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq/spider/__init__.py +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-1.6.0 → mdbq-1.6.1}/setup.cfg +0 -0
@@ -906,16 +906,16 @@ def upload_dir(path, db_name, collection_name, dbs={'mysql': True, 'mongodb': Tr
|
|
906
906
|
host=host,
|
907
907
|
port=port,
|
908
908
|
)
|
909
|
-
username, password, host, port = get_myconf.select_config_values(
|
910
|
-
|
911
|
-
|
912
|
-
)
|
913
|
-
nas = mysql.MysqlUpload(
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
)
|
909
|
+
# username, password, host, port = get_myconf.select_config_values(
|
910
|
+
# target_service='nas',
|
911
|
+
# database='mysql',
|
912
|
+
# )
|
913
|
+
# nas = mysql.MysqlUpload(
|
914
|
+
# username=username,
|
915
|
+
# password=password,
|
916
|
+
# host=host,
|
917
|
+
# port=port,
|
918
|
+
# )
|
919
919
|
|
920
920
|
# 从本地 json 文件从读取 df 的数据类型信息
|
921
921
|
df_to_json = df_types.DataTypes()
|
@@ -1064,11 +1064,11 @@ if __name__ == '__main__':
|
|
1064
1064
|
# target_service='company',
|
1065
1065
|
# database='mysql'
|
1066
1066
|
# )
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
|
1067
|
+
db_name = '推广数据2'
|
1068
|
+
table_name = '超级直播'
|
1069
|
+
upload_dir(
|
1070
|
+
path='/Users/xigua/数据中心/原始文件2/推广报表/超级直播',
|
1071
|
+
db_name=db_name,
|
1072
|
+
collection_name=table_name,
|
1073
|
+
dbs={'mysql': True, 'mongodb': False},
|
1074
|
+
)
|
@@ -192,6 +192,33 @@ class MysqlDatasQuery:
|
|
192
192
|
)
|
193
193
|
return df
|
194
194
|
|
195
|
+
def tg_cjzb(self):
|
196
|
+
start_date, end_date = self.months_data(num=self.months)
|
197
|
+
projection = {
|
198
|
+
'日期': 1,
|
199
|
+
'场景名字': 1,
|
200
|
+
'人群名字': 1,
|
201
|
+
'计划名字': 1,
|
202
|
+
'花费': 1,
|
203
|
+
'展现量': 1,
|
204
|
+
'进店量': 1,
|
205
|
+
'粉丝关注量': 1,
|
206
|
+
'观看次数': 1,
|
207
|
+
'总购物车数': 1,
|
208
|
+
'总成交笔数': 1,
|
209
|
+
'总成交金额': 1,
|
210
|
+
'直接成交笔数': 1,
|
211
|
+
'直接成交金额': 1,
|
212
|
+
}
|
213
|
+
df = self.download.data_to_df(
|
214
|
+
db_name='推广数据2',
|
215
|
+
table_name='超级直播',
|
216
|
+
start_date=start_date,
|
217
|
+
end_date=end_date,
|
218
|
+
projection=projection,
|
219
|
+
)
|
220
|
+
return df
|
221
|
+
|
195
222
|
def idbm(self):
|
196
223
|
""" 用生意经日数据制作商品 id 和编码对照表 """
|
197
224
|
data_values = self.download.columns_to_list(
|
@@ -397,6 +424,7 @@ class GroupBy:
|
|
397
424
|
'总成交笔数': '成交笔数',
|
398
425
|
'总成交金额': '成交金额'
|
399
426
|
}, inplace=True)
|
427
|
+
df.fillna(0, inplace=True)
|
400
428
|
df = df.astype({
|
401
429
|
'商品id': str,
|
402
430
|
'花费': float,
|
@@ -409,7 +437,6 @@ class GroupBy:
|
|
409
437
|
'直接成交笔数': int,
|
410
438
|
'直接成交金额': float,
|
411
439
|
}, errors='raise')
|
412
|
-
df.fillna(0, inplace=True)
|
413
440
|
if is_maximize:
|
414
441
|
df = df.groupby(['日期', '营销场景', '商品id', '花费', '展现量', '点击量'], as_index=False).agg(
|
415
442
|
**{'加购量': ('加购量', np.max),
|
@@ -477,6 +504,7 @@ class GroupBy:
|
|
477
504
|
'总成交笔数': '成交笔数',
|
478
505
|
'总成交金额': '成交金额'
|
479
506
|
}, inplace=True)
|
507
|
+
df.fillna(0, inplace=True)
|
480
508
|
df = df.astype({
|
481
509
|
'商品id': str,
|
482
510
|
'花费': float,
|
@@ -488,7 +516,6 @@ class GroupBy:
|
|
488
516
|
'直接成交笔数': int,
|
489
517
|
'直接成交金额': float,
|
490
518
|
}, errors='raise')
|
491
|
-
df.fillna(0, inplace=True)
|
492
519
|
if is_maximize:
|
493
520
|
df = df.groupby(['日期', '营销场景', '商品id', '花费', '展现量', '点击量', '人群名字'], as_index=False).agg(
|
494
521
|
**{'加购量': ('加购量', np.max),
|
@@ -518,6 +545,7 @@ class GroupBy:
|
|
518
545
|
'总成交笔数': '成交笔数',
|
519
546
|
'总成交金额': '成交金额'
|
520
547
|
}, inplace=True)
|
548
|
+
df.fillna(0, inplace=True)
|
521
549
|
df = df.astype({
|
522
550
|
'商品id': str,
|
523
551
|
'花费': float,
|
@@ -529,7 +557,6 @@ class GroupBy:
|
|
529
557
|
'直接成交笔数': int,
|
530
558
|
'直接成交金额': float,
|
531
559
|
}, errors='raise')
|
532
|
-
df.fillna(0, inplace=True)
|
533
560
|
if is_maximize:
|
534
561
|
df = df.groupby(['日期', '营销场景', '商品id', '词类型', '词名字/词包名字', '花费', '展现量', '点击量'], as_index=False).agg(
|
535
562
|
**{'加购量': ('加购量', np.max),
|
@@ -551,6 +578,55 @@ class GroupBy:
|
|
551
578
|
)
|
552
579
|
df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
|
553
580
|
return df
|
581
|
+
elif '超级直播' in table_name:
|
582
|
+
df.rename(columns={
|
583
|
+
'观看次数': '观看次数',
|
584
|
+
'总购物车数': '加购量',
|
585
|
+
'总成交笔数': '成交笔数',
|
586
|
+
'总成交金额': '成交金额',
|
587
|
+
'场景名字': '营销场景',
|
588
|
+
}, inplace=True)
|
589
|
+
df.fillna(0, inplace=True)
|
590
|
+
df = df.astype({
|
591
|
+
'花费': float,
|
592
|
+
# '点击量': int,
|
593
|
+
'加购量': int,
|
594
|
+
'成交笔数': int,
|
595
|
+
'成交金额': float,
|
596
|
+
'进店量': int,
|
597
|
+
'粉丝关注量': int,
|
598
|
+
'观看次数': int,
|
599
|
+
}, errors='raise')
|
600
|
+
if is_maximize:
|
601
|
+
df = df.groupby(['日期', '营销场景', '人群名字', '计划名字', '花费', '观看次数', '展现量'],
|
602
|
+
as_index=False).agg(
|
603
|
+
**{
|
604
|
+
'进店量': ('进店量', np.max),
|
605
|
+
'粉丝关注量': ('粉丝关注量', np.max),
|
606
|
+
'加购量': ('加购量', np.max),
|
607
|
+
'成交笔数': ('成交笔数', np.max),
|
608
|
+
'成交金额': ('成交金额', np.max),
|
609
|
+
'直接成交笔数': ('直接成交笔数', np.max),
|
610
|
+
'直接成交金额': ('直接成交金额', np.max),
|
611
|
+
}
|
612
|
+
)
|
613
|
+
else:
|
614
|
+
df = df.groupby(['日期', '营销场景', '人群名字', '计划名字', '花费', '观看次数', '展现量'],
|
615
|
+
as_index=False).agg(
|
616
|
+
**{
|
617
|
+
'进店量': ('进店量', np.min),
|
618
|
+
'粉丝关注量': ('粉丝关注量', np.min),
|
619
|
+
'加购量': ('加购量', np.min),
|
620
|
+
'成交笔数': ('成交笔数', np.min),
|
621
|
+
'成交金额': ('成交金额', np.min),
|
622
|
+
'直接成交笔数': ('直接成交笔数', np.min),
|
623
|
+
'直接成交金额': ('直接成交金额', np.min),
|
624
|
+
}
|
625
|
+
)
|
626
|
+
df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
|
627
|
+
# df.insert(loc=2, column='营销场景', value='超级直播') # df中插入新列
|
628
|
+
# df = df.loc[df['日期'].between(start_day, today)]
|
629
|
+
return df
|
554
630
|
elif '宝贝指标' in table_name:
|
555
631
|
""" 聚合时不可以加商家编码,编码有些是空白,有些是 0 """
|
556
632
|
df['宝贝id'] = df['宝贝id'].astype(str)
|
@@ -911,9 +987,9 @@ def data_aggregation_one(service_databases=[{}], months=1):
|
|
911
987
|
data_dict = [
|
912
988
|
{
|
913
989
|
'数据库名': '聚合数据',
|
914
|
-
'集合名': '
|
915
|
-
'唯一主键': ['日期', '
|
916
|
-
'数据主体': sdq.
|
990
|
+
'集合名': '天猫_超级直播',
|
991
|
+
'唯一主键': ['日期', '推广渠道', '营销场景', '花费'],
|
992
|
+
'数据主体': sdq.tg_cjzb(),
|
917
993
|
},
|
918
994
|
]
|
919
995
|
######################################################
|
@@ -1024,6 +1100,12 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1024
1100
|
'唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '词类型', '词名字/词包名字',],
|
1025
1101
|
'数据主体': sdq.tg_gjc(),
|
1026
1102
|
},
|
1103
|
+
{
|
1104
|
+
'数据库名': '聚合数据',
|
1105
|
+
'集合名': '天猫_超级直播',
|
1106
|
+
'唯一主键': ['日期', '推广渠道', '营销场景', '花费'],
|
1107
|
+
'数据主体': sdq.tg_cjzb(),
|
1108
|
+
},
|
1027
1109
|
]
|
1028
1110
|
for items in data_dict: # 遍历返回结果
|
1029
1111
|
db_name, table_name, unique_key_list, df = items['数据库名'], items['集合名'], items['唯一主键'], items['数据主体']
|
@@ -1081,7 +1163,7 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1081
1163
|
|
1082
1164
|
|
1083
1165
|
if __name__ == '__main__':
|
1084
|
-
data_aggregation(service_databases=[{'
|
1085
|
-
|
1166
|
+
# data_aggregation(service_databases=[{'home_lx': 'mysql'}], months=1) # 正常的聚合所有数据
|
1167
|
+
data_aggregation_one(service_databases=[{'home_lx': 'mysql'}], months=1) # 单独聚合某一个数据库,具体库进函数编辑
|
1086
1168
|
# optimize_data.op_data(service_databases=[{'company': 'mysql'}], days=3650) # 立即启动对聚合数据的清理工作
|
1087
1169
|
|
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
|
File without changes
|
File without changes
|
File without changes
|