mdbq 1.6.8__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.
- {mdbq-1.6.8 → mdbq-1.7.0}/PKG-INFO +1 -1
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/aggregation/aggregation.py +5 -1
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/aggregation/query_data.py +174 -101
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/clean/data_clean.py +3 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-1.6.8 → mdbq-1.7.0}/setup.py +1 -1
- {mdbq-1.6.8 → mdbq-1.7.0}/README.txt +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/__version__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/aggregation/mysql_types.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/bdup/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/bdup/bdup.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/clean/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/company/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/company/copysh.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/config/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/config/get_myconf.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/config/products.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/config/set_support.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/config/update_conf.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/dataframe/converter.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/log/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/log/mylogger.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/mongo/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/mongo/mongo.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/mysql/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/mysql/mysql.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/mysql/s_query.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/other/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/other/porxy.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/other/pov_city.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/other/ua_sj.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/pbix/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq/spider/__init__.py +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-1.6.8 → mdbq-1.7.0}/setup.cfg +0 -0
@@ -74,7 +74,7 @@ class DatabaseUpdate:
|
|
74
74
|
# 只针对 csv, xlsx 文件进行处理
|
75
75
|
if not name.endswith('.csv') and not name.endswith('.xls') and not name.endswith('.xlsx'):
|
76
76
|
continue
|
77
|
-
df = pd.DataFrame()
|
77
|
+
df = pd.DataFrame() # 初始化 df
|
78
78
|
encoding = self.get_encoding(file_path=os.path.join(root, name)) # 用于处理 csv 文件
|
79
79
|
tg_names = ['营销场景报表', '计划报表', '单元报表', '关键词报表', '人群报表', '主体报表',
|
80
80
|
'其他主体报表',
|
@@ -187,6 +187,8 @@ class DatabaseUpdate:
|
|
187
187
|
collection_name='店铺来源_月数据_旧版'
|
188
188
|
else:
|
189
189
|
collection_name='店铺来源_日数据_旧版'
|
190
|
+
elif name.endswith('.csv') and '客户运营平台_客户列表' in name:
|
191
|
+
df = pd.read_csv(os.path.join(root, name), encoding=encoding, header=0, na_filter=False)
|
190
192
|
elif name.endswith('.xls') and '生意参谋' in name and '商品_全部' in name:
|
191
193
|
# 店铺商品排行
|
192
194
|
df = pd.read_excel(os.path.join(root, name), header=4)
|
@@ -550,6 +552,8 @@ class DatabaseUpdate:
|
|
550
552
|
df.insert(0, '店铺名称', 'coome旗舰店') # 插入新列
|
551
553
|
db_name = '属性设置2'
|
552
554
|
collection_name = '商品素材导出'
|
555
|
+
else:
|
556
|
+
df = pd.DataFrame()
|
553
557
|
|
554
558
|
if is_move:
|
555
559
|
try:
|
@@ -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
|
-
|
1046
|
-
|
1047
|
-
},
|
1048
|
-
{
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
},
|
1054
|
-
{
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
},
|
1060
|
-
{
|
1061
|
-
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
},
|
1066
|
-
{
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
},
|
1072
|
-
{
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
},
|
1078
|
-
{
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
},
|
1084
|
-
{
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
},
|
1090
|
-
{
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
},
|
1096
|
-
{
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
},
|
1102
|
-
{
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
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
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
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
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
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
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
|
1163
|
-
|
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=
|
1176
|
-
# data_aggregation_one(service_databases=[{'
|
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
|
|
@@ -1146,6 +1146,9 @@ class DataClean:
|
|
1146
1146
|
elif name.endswith('.csv') and '零售明细统计' in name:
|
1147
1147
|
t_path = str(pathlib.Path(self.source_path, '生意经/E3零售明细统计'))
|
1148
1148
|
bib(t_path, _as_month=True)
|
1149
|
+
elif name.endswith('.csv') and '客户运营平台_客户列表' in name:
|
1150
|
+
t_path = str(pathlib.Path(self.source_path, '生意参谋/客户运营平台'))
|
1151
|
+
bib(t_path, _as_month=True)
|
1149
1152
|
# 京东分界线 ------- 开始标记
|
1150
1153
|
# 京东分界线
|
1151
1154
|
elif name.endswith('.csv') and '全部渠道_商品明细' in name:
|
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
|