mdbq 1.7.2__py3-none-any.whl → 1.7.4__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.
- mdbq/aggregation/aggregation.py +4 -4
- mdbq/aggregation/query_data.py +178 -13
- mdbq/mysql/mysql.py +1 -1
- {mdbq-1.7.2.dist-info → mdbq-1.7.4.dist-info}/METADATA +1 -1
- {mdbq-1.7.2.dist-info → mdbq-1.7.4.dist-info}/RECORD +7 -7
- {mdbq-1.7.2.dist-info → mdbq-1.7.4.dist-info}/WHEEL +0 -0
- {mdbq-1.7.2.dist-info → mdbq-1.7.4.dist-info}/top_level.txt +0 -0
mdbq/aggregation/aggregation.py
CHANGED
@@ -912,7 +912,7 @@ def upload_dir(path, db_name, collection_name, dbs={'mysql': True, 'mongodb': Tr
|
|
912
912
|
|
913
913
|
if dbs['mysql']:
|
914
914
|
username, password, host, port = get_myconf.select_config_values(
|
915
|
-
target_service='
|
915
|
+
target_service='company',
|
916
916
|
database='mysql',
|
917
917
|
)
|
918
918
|
m = mysql.MysqlUpload(
|
@@ -1082,10 +1082,10 @@ if __name__ == '__main__':
|
|
1082
1082
|
# database='mysql'
|
1083
1083
|
# )
|
1084
1084
|
|
1085
|
-
db_name = '
|
1086
|
-
table_name = '
|
1085
|
+
db_name = '推广数据2'
|
1086
|
+
table_name = '超级直播'
|
1087
1087
|
upload_dir(
|
1088
|
-
path='/Users/xigua/数据中心/原始文件2
|
1088
|
+
path='/Users/xigua/数据中心/原始文件2/推广报表/超级直播',
|
1089
1089
|
db_name=db_name,
|
1090
1090
|
collection_name=table_name,
|
1091
1091
|
dbs={'mysql': True, 'mongodb': False},
|
mdbq/aggregation/query_data.py
CHANGED
@@ -219,6 +219,31 @@ class MysqlDatasQuery:
|
|
219
219
|
)
|
220
220
|
return df
|
221
221
|
|
222
|
+
def pxb_zh(self):
|
223
|
+
start_date, end_date = self.months_data(num=self.months)
|
224
|
+
projection = {
|
225
|
+
'日期': 1,
|
226
|
+
'报表类型': 1,
|
227
|
+
'搜索量': 1,
|
228
|
+
'搜索访客数': 1,
|
229
|
+
'展现量': 1,
|
230
|
+
# '自然流量增量曝光': 1,
|
231
|
+
'消耗': 1,
|
232
|
+
'点击量': 1,
|
233
|
+
'宝贝加购数': 1,
|
234
|
+
'成交笔数': 1,
|
235
|
+
'成交金额': 1,
|
236
|
+
# '成交访客数': 1
|
237
|
+
}
|
238
|
+
df = self.download.data_to_df(
|
239
|
+
db_name='推广数据2',
|
240
|
+
table_name='品销宝',
|
241
|
+
start_date=start_date,
|
242
|
+
end_date=end_date,
|
243
|
+
projection=projection,
|
244
|
+
)
|
245
|
+
return df
|
246
|
+
|
222
247
|
def idbm(self):
|
223
248
|
""" 用生意经日数据制作商品 id 和编码对照表 """
|
224
249
|
data_values = self.download.columns_to_list(
|
@@ -342,6 +367,39 @@ class MysqlDatasQuery:
|
|
342
367
|
projection=projection,
|
343
368
|
)
|
344
369
|
return df
|
370
|
+
def jd_gjc(self):
|
371
|
+
start_date, end_date = self.months_data(num=self.months)
|
372
|
+
projection = {
|
373
|
+
'日期': 1,
|
374
|
+
'产品线': 1,
|
375
|
+
'计划类型': 1,
|
376
|
+
'计划id': 1,
|
377
|
+
'推广计划': 1,
|
378
|
+
'搜索词': 1,
|
379
|
+
'关键词': 1,
|
380
|
+
'关键词购买类型': 1,
|
381
|
+
'广告定向类型': 1,
|
382
|
+
'花费': 1,
|
383
|
+
'展现数': 1,
|
384
|
+
'点击数': 1,
|
385
|
+
'直接订单行': 1,
|
386
|
+
'直接订单金额': 1,
|
387
|
+
'总订单行': 1,
|
388
|
+
'总订单金额': 1,
|
389
|
+
'总加购数': 1,
|
390
|
+
'下单新客数_去重': 1,
|
391
|
+
'领券数': 1,
|
392
|
+
'商品关注数': 1,
|
393
|
+
'店铺关注数': 1
|
394
|
+
}
|
395
|
+
df = self.download.data_to_df(
|
396
|
+
db_name='京东数据2',
|
397
|
+
table_name='推广数据_关键词报表',
|
398
|
+
start_date=start_date,
|
399
|
+
end_date=end_date,
|
400
|
+
projection=projection,
|
401
|
+
)
|
402
|
+
return df
|
345
403
|
def sku_sales(self):
|
346
404
|
start_date, end_date = self.months_data(num=self.months)
|
347
405
|
projection = {
|
@@ -409,7 +467,12 @@ class GroupBy:
|
|
409
467
|
"""
|
410
468
|
if isinstance(df, pd.DataFrame):
|
411
469
|
if len(df) == 0:
|
412
|
-
print(f' query_data.groupby函数中 {table_name} 传入的 df 数据长度为0')
|
470
|
+
print(f' query_data.groupby 函数中 {table_name} 传入的 df 数据长度为0')
|
471
|
+
self.data_tgyj.update(
|
472
|
+
{
|
473
|
+
table_name: pd.DataFrame(),
|
474
|
+
}
|
475
|
+
)
|
413
476
|
return pd.DataFrame()
|
414
477
|
else:
|
415
478
|
print(f'query_data.groupby函数中 {table_name} 传入的 df 不是 dataframe 结构')
|
@@ -541,7 +604,7 @@ class GroupBy:
|
|
541
604
|
)
|
542
605
|
df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
|
543
606
|
return df
|
544
|
-
elif '关键词报表' in table_name:
|
607
|
+
elif '天猫_关键词报表' in table_name:
|
545
608
|
df.rename(columns={
|
546
609
|
'场景名字': '营销场景',
|
547
610
|
'宝贝id': '商品id',
|
@@ -581,6 +644,8 @@ class GroupBy:
|
|
581
644
|
}
|
582
645
|
)
|
583
646
|
df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
|
647
|
+
df['是否品牌词'] = df['词名字/词包名字'].str.contains('万里马|wanlima', regex=True)
|
648
|
+
df['是否品牌词'] = df['是否品牌词'].apply(lambda x: '品牌词' if x else '')
|
584
649
|
return df
|
585
650
|
elif '天猫_超级直播' in table_name:
|
586
651
|
df.rename(columns={
|
@@ -590,6 +655,7 @@ class GroupBy:
|
|
590
655
|
'总成交金额': '成交金额',
|
591
656
|
'场景名字': '营销场景',
|
592
657
|
}, inplace=True)
|
658
|
+
df['营销场景'] = '超级直播'
|
593
659
|
df.fillna(0, inplace=True)
|
594
660
|
df = df.astype({
|
595
661
|
'花费': float,
|
@@ -648,6 +714,63 @@ class GroupBy:
|
|
648
714
|
}
|
649
715
|
)
|
650
716
|
return df
|
717
|
+
elif '天猫_品销宝账户报表' in table_name:
|
718
|
+
df = df[df['报表类型'] == '账户']
|
719
|
+
df.fillna(value=0, inplace=True)
|
720
|
+
df.rename(columns={
|
721
|
+
'消耗': '花费',
|
722
|
+
'宝贝加购数': '加购量',
|
723
|
+
'搜索量': '品牌搜索量',
|
724
|
+
'搜索访客数': '品牌搜索人数'
|
725
|
+
}, inplace=True)
|
726
|
+
df = df.astype({
|
727
|
+
'花费': float,
|
728
|
+
'展现量': int,
|
729
|
+
'点击量': int,
|
730
|
+
'加购量': int,
|
731
|
+
'成交笔数': int,
|
732
|
+
'成交金额': float,
|
733
|
+
'品牌搜索量': int,
|
734
|
+
'品牌搜索人数': int,
|
735
|
+
}, errors='raise')
|
736
|
+
if is_maximize:
|
737
|
+
df = df.groupby(['日期', '报表类型', '花费', '展现量', '点击量'], as_index=False).agg(
|
738
|
+
**{
|
739
|
+
'加购量': ('加购量', np.max),
|
740
|
+
'成交笔数': ('成交笔数', np.max),
|
741
|
+
'成交金额': ('成交金额', np.max),
|
742
|
+
'品牌搜索量': ('品牌搜索量', np.max),
|
743
|
+
'品牌搜索人数': ('品牌搜索人数', np.max),
|
744
|
+
}
|
745
|
+
)
|
746
|
+
else:
|
747
|
+
df = df.groupby(['日期', '报表类型', '花费', '展现量', '点击量'], as_index=False).agg(
|
748
|
+
**{
|
749
|
+
'加购量': ('加购量', np.min),
|
750
|
+
'成交笔数': ('成交笔数', np.min),
|
751
|
+
'成交金额': ('成交金额', np.min),
|
752
|
+
'品牌搜索量': ('品牌搜索量', np.min),
|
753
|
+
'品牌搜索人数': ('品牌搜索人数', np.min),
|
754
|
+
}
|
755
|
+
)
|
756
|
+
df.insert(loc=1, column='推广渠道', value='品销宝') # df中插入新列
|
757
|
+
df.insert(loc=2, column='营销场景', value='品销宝') # df中插入新列
|
758
|
+
df_new = df.groupby(['日期', '推广渠道', '营销场景'], as_index=False).agg(
|
759
|
+
**{
|
760
|
+
'花费': ('花费', np.sum),
|
761
|
+
'展现量': ('展现量', np.sum),
|
762
|
+
'点击量': ('点击量', np.sum),
|
763
|
+
'加购量': ('加购量', np.sum),
|
764
|
+
'成交笔数': ('成交笔数', np.sum),
|
765
|
+
'成交金额': ('成交金额', np.sum)
|
766
|
+
}
|
767
|
+
)
|
768
|
+
self.data_tgyj.update(
|
769
|
+
{
|
770
|
+
table_name: df_new,
|
771
|
+
}
|
772
|
+
)
|
773
|
+
return df
|
651
774
|
elif '宝贝指标' in table_name:
|
652
775
|
""" 聚合时不可以加商家编码,编码有些是空白,有些是 0 """
|
653
776
|
df['宝贝id'] = df['宝贝id'].astype(str)
|
@@ -832,6 +955,29 @@ class GroupBy:
|
|
832
955
|
}
|
833
956
|
)
|
834
957
|
return df
|
958
|
+
elif '京东_关键词报表' in table_name:
|
959
|
+
df_lin = df[['计划id', '推广计划']]
|
960
|
+
df_lin.drop_duplicates(subset=['计划id'], keep='last', inplace=True, ignore_index=True)
|
961
|
+
df = df.groupby(['日期', '产品线', '计划类型', '计划id', '搜索词', '关键词', '关键词购买类型', '广告定向类型', '展现数', '点击数', '花费'],
|
962
|
+
as_index=False).agg(
|
963
|
+
**{
|
964
|
+
'直接订单行': ('直接订单行', np.max),
|
965
|
+
'直接订单金额': ('直接订单金额', np.max),
|
966
|
+
'总订单行': ('总订单行', np.max),
|
967
|
+
'总订单金额': ('总订单金额', np.max),
|
968
|
+
'总加购数': ('总加购数', np.max),
|
969
|
+
'下单新客数': ('下单新客数_去重', np.max),
|
970
|
+
'领券数': ('领券数', np.max),
|
971
|
+
'商品关注数': ('商品关注数', np.max),
|
972
|
+
'店铺关注数': ('店铺关注数', np.max)
|
973
|
+
}
|
974
|
+
)
|
975
|
+
df = pd.merge(df, df_lin, how='left', left_on='计划id', right_on='计划id')
|
976
|
+
df['k_是否品牌词'] = df['关键词'].str.contains('万里马|wanlima', regex=True)
|
977
|
+
df['k_是否品牌词'] = df['k_是否品牌词'].apply(lambda x: '品牌词' if x else '')
|
978
|
+
df['s_是否品牌词'] = df['搜索词'].str.contains('万里马|wanlima', regex=True)
|
979
|
+
df['s_是否品牌词'] = df['s_是否品牌词'].apply(lambda x: '品牌词' if x else '')
|
980
|
+
return df
|
835
981
|
else:
|
836
982
|
print(f'<{table_name}>: Groupby 类尚未配置,数据为空')
|
837
983
|
return pd.DataFrame({})
|
@@ -874,7 +1020,7 @@ class GroupBy:
|
|
874
1020
|
return df
|
875
1021
|
|
876
1022
|
def performance_concat(self, bb_tg=True):
|
877
|
-
tg, zb = self.data_tgyj['天猫汇总表调用'], self.data_tgyj['天猫_超级直播']
|
1023
|
+
tg, zb, pxb = self.data_tgyj['天猫汇总表调用'], self.data_tgyj['天猫_超级直播'], self.data_tgyj['天猫_品销宝账户报表']
|
878
1024
|
zb.rename(columns={
|
879
1025
|
'观看次数': '点击量',
|
880
1026
|
}, inplace=True)
|
@@ -902,7 +1048,7 @@ class GroupBy:
|
|
902
1048
|
'直接成交金额': float,
|
903
1049
|
'自然流量曝光量': int,
|
904
1050
|
}, errors='raise')
|
905
|
-
df = pd.concat([tg, zb], axis=0, ignore_index=True)
|
1051
|
+
df = pd.concat([tg, zb, pxb], axis=0, ignore_index=True)
|
906
1052
|
df.fillna(0, inplace=True) # concat 之后要填充空值
|
907
1053
|
df = df.astype(
|
908
1054
|
{
|
@@ -1051,10 +1197,10 @@ def data_aggregation_one(service_databases=[{}], months=1):
|
|
1051
1197
|
######################################################
|
1052
1198
|
data_dict = [
|
1053
1199
|
{
|
1054
|
-
'数据库名': '聚合数据',
|
1055
|
-
'集合名': '天猫_
|
1056
|
-
'唯一主键': ['日期', '
|
1057
|
-
'数据主体': sdq.
|
1200
|
+
'数据库名': '聚合数据', # 清洗完回传的目的地数据库
|
1201
|
+
'集合名': '天猫_推广汇总', # 清洗完回传的数据表名
|
1202
|
+
'唯一主键': ['日期', '商品id'],
|
1203
|
+
'数据主体': sdq.jd_gjc(),
|
1058
1204
|
},
|
1059
1205
|
]
|
1060
1206
|
######################################################
|
@@ -1069,8 +1215,9 @@ def data_aggregation_one(service_databases=[{}], months=1):
|
|
1069
1215
|
df=df,
|
1070
1216
|
db_name=db_name,
|
1071
1217
|
table_name=table_name,
|
1218
|
+
df_sql=True,
|
1072
1219
|
drop_duplicates=False,
|
1073
|
-
icm_update=unique_key_list,
|
1220
|
+
# icm_update=unique_key_list,
|
1074
1221
|
service_database=service_database,
|
1075
1222
|
) # 3. 回传数据库
|
1076
1223
|
|
@@ -1094,8 +1241,8 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1094
1241
|
# 从数据库中获取数据, 返回包含 df 数据的字典
|
1095
1242
|
data_dict = [
|
1096
1243
|
{
|
1097
|
-
'数据库名': '聚合数据',
|
1098
|
-
'集合名': '天猫_主体报表',
|
1244
|
+
'数据库名': '聚合数据', # 清洗完回传的目的地数据库
|
1245
|
+
'集合名': '天猫_主体报表', # 清洗完回传的数据表名
|
1099
1246
|
'唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费'],
|
1100
1247
|
'数据主体': sdq.tg_wxt(),
|
1101
1248
|
},
|
@@ -1171,6 +1318,18 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1171
1318
|
'唯一主键': ['日期', '推广渠道', '营销场景', '花费'],
|
1172
1319
|
'数据主体': sdq.tg_cjzb(),
|
1173
1320
|
},
|
1321
|
+
{
|
1322
|
+
'数据库名': '聚合数据',
|
1323
|
+
'集合名': '京东_关键词报表',
|
1324
|
+
'唯一主键': ['日期', '产品线', '搜索词', '关键词', '展现数', '花费'],
|
1325
|
+
'数据主体': sdq.jd_gjc(),
|
1326
|
+
},
|
1327
|
+
{
|
1328
|
+
'数据库名': '聚合数据',
|
1329
|
+
'集合名': '天猫_品销宝账户报表',
|
1330
|
+
'唯一主键': ['日期', '报表类型'],
|
1331
|
+
'数据主体': sdq.pxb_zh(),
|
1332
|
+
},
|
1174
1333
|
]
|
1175
1334
|
for items in data_dict: # 遍历返回结果
|
1176
1335
|
db_name, table_name, unique_key_list, df = items['数据库名'], items['集合名'], items['唯一主键'], items['数据主体']
|
@@ -1181,6 +1340,7 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1181
1340
|
df=g.sp_index_datas,
|
1182
1341
|
db_name='属性设置2',
|
1183
1342
|
table_name='商品索引表',
|
1343
|
+
# df_sql=True,
|
1184
1344
|
drop_duplicates=False,
|
1185
1345
|
icm_update=['商品id'],
|
1186
1346
|
service_database=service_database,
|
@@ -1191,8 +1351,9 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1191
1351
|
df=df,
|
1192
1352
|
db_name=db_name,
|
1193
1353
|
table_name=table_name,
|
1354
|
+
df_sql=True,
|
1194
1355
|
drop_duplicates=False,
|
1195
|
-
icm_update=unique_key_list,
|
1356
|
+
# icm_update=unique_key_list,
|
1196
1357
|
service_database=service_database,
|
1197
1358
|
) # 3. 回传数据库
|
1198
1359
|
res = g.performance(bb_tg=True) # 盈亏表,依赖其他表,单独做
|
@@ -1200,6 +1361,7 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1200
1361
|
df=res,
|
1201
1362
|
db_name='聚合数据',
|
1202
1363
|
table_name='_全店商品销售',
|
1364
|
+
# df_sql=True,
|
1203
1365
|
drop_duplicates=False,
|
1204
1366
|
icm_update=['日期', '商品id'], # 设置唯一主键
|
1205
1367
|
service_database=service_database,
|
@@ -1209,6 +1371,7 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1209
1371
|
df=res,
|
1210
1372
|
db_name='聚合数据',
|
1211
1373
|
table_name='_推广商品销售',
|
1374
|
+
# df_sql=True,
|
1212
1375
|
drop_duplicates=False,
|
1213
1376
|
icm_update=['日期', '商品id'], # 设置唯一主键
|
1214
1377
|
service_database=service_database,
|
@@ -1219,6 +1382,7 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1219
1382
|
df=res,
|
1220
1383
|
db_name='聚合数据',
|
1221
1384
|
table_name='天猫_推广汇总',
|
1385
|
+
# df_sql=True,
|
1222
1386
|
drop_duplicates=False,
|
1223
1387
|
icm_update=['日期', '商品id'], # 设置唯一主键
|
1224
1388
|
service_database=service_database,
|
@@ -1230,6 +1394,7 @@ def data_aggregation(service_databases=[{}], months=1):
|
|
1230
1394
|
df=res,
|
1231
1395
|
db_name='聚合数据',
|
1232
1396
|
table_name='_京东_推广商品销售',
|
1397
|
+
# df_sql=True,
|
1233
1398
|
drop_duplicates=False,
|
1234
1399
|
icm_update=['日期', '跟单sku id', '货号', '花费'], # 设置唯一主键
|
1235
1400
|
service_database=service_database,
|
@@ -1245,7 +1410,7 @@ def main():
|
|
1245
1410
|
|
1246
1411
|
|
1247
1412
|
if __name__ == '__main__':
|
1248
|
-
data_aggregation(service_databases=[{'
|
1413
|
+
data_aggregation(service_databases=[{'home_lx': 'mysql'}], months=1) # 正常的聚合所有数据
|
1249
1414
|
# data_aggregation_one(service_databases=[{'company': 'mysql'}], months=1) # 单独聚合某一个数据库,具体库进函数编辑
|
1250
1415
|
# optimize_data.op_data(service_databases=[{'company': 'mysql'}], days=3650) # 立即启动对聚合数据的清理工作
|
1251
1416
|
|
mdbq/mysql/mysql.py
CHANGED
@@ -209,7 +209,7 @@ class MysqlUpload:
|
|
209
209
|
cols_exist = [col['COLUMN_NAME'] for col in columns] # 数据表的所有列, 返回 list
|
210
210
|
update_col = [item for item in cols_exist if item not in icm_update and item != 'id'] # 除了主键外的其他列
|
211
211
|
|
212
|
-
# unique_keys 示例: `日期`,
|
212
|
+
# unique_keys 示例: `日期`, `余额`
|
213
213
|
unique_keys = ', '.join(f"`{item}`" for item in update_col) # 列名需要转义
|
214
214
|
condition = []
|
215
215
|
for up_col in icm_update:
|
@@ -1,11 +1,11 @@
|
|
1
1
|
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
|
-
mdbq/aggregation/aggregation.py,sha256=
|
4
|
+
mdbq/aggregation/aggregation.py,sha256=65nMN39uj3eyWjN3WviOi_8MDrT22Of-mnSE8dcCkuU,62951
|
5
5
|
mdbq/aggregation/df_types.py,sha256=oQJS2IBU3_IO6GMgbssHuC2yCjNnbta0QPGrFOwNLnU,7591
|
6
6
|
mdbq/aggregation/mysql_types.py,sha256=DQYROALDiwjJzjhaJfIIdnsrNs11i5BORlj_v6bp67Y,11062
|
7
7
|
mdbq/aggregation/optimize_data.py,sha256=u2Kl_MFtZueXJ57ycy4H2OhXD431RctUYJYCl637uT0,4176
|
8
|
-
mdbq/aggregation/query_data.py,sha256=
|
8
|
+
mdbq/aggregation/query_data.py,sha256=Nh4NVeVaq9mS1su3IIyet59HVHLMY10peSlvpbyimx4,66792
|
9
9
|
mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
|
10
10
|
mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
|
11
11
|
mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
|
@@ -24,7 +24,7 @@ mdbq/log/mylogger.py,sha256=oaT7Bp-Hb9jZt52seP3ISUuxVcI19s4UiqTeouScBO0,3258
|
|
24
24
|
mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
|
25
25
|
mdbq/mongo/mongo.py,sha256=v9qvrp6p1ZRWuPpbSilqveiE0FEcZF7U5xUPI0RN4xs,31880
|
26
26
|
mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
|
27
|
-
mdbq/mysql/mysql.py,sha256=
|
27
|
+
mdbq/mysql/mysql.py,sha256=cIK_GI6Ggb9LsxsvVUv0AviD7kdyCumk_eQ9MSOwsms,43320
|
28
28
|
mdbq/mysql/s_query.py,sha256=fIQvQKPyV7rvSUuxVWXv9S5FmCnIM4GHKconE1Zn5BA,8378
|
29
29
|
mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
|
30
30
|
mdbq/other/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
@@ -35,7 +35,7 @@ mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
|
|
35
35
|
mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,2396
|
36
36
|
mdbq/pbix/refresh_all.py,sha256=tgy762608HMaXWynbOURIf2UVMuSPybzrDXQnOOcnZU,6102
|
37
37
|
mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
|
38
|
-
mdbq-1.7.
|
39
|
-
mdbq-1.7.
|
40
|
-
mdbq-1.7.
|
41
|
-
mdbq-1.7.
|
38
|
+
mdbq-1.7.4.dist-info/METADATA,sha256=pkkDPmLG_aKCdRwFy_gK33iGW5Dy-lAo21AU8VaziMs,245
|
39
|
+
mdbq-1.7.4.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
40
|
+
mdbq-1.7.4.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
41
|
+
mdbq-1.7.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|