|
@@ -89,6 +89,12 @@ class Common_ETLMethod(BaseClient):
|
|
|
else:
|
|
|
return '-'
|
|
|
|
|
|
+ def id_type_trans(self,df):
|
|
|
+ id_columns = [i for i in df.columns if 'id' in i.lower() and 'bid' not in i.lower()]
|
|
|
+ df[id_columns] = df[id_columns].fillna(-1).applymap(lambda x: round(int(x), 0)).astype("string")
|
|
|
+ df[id_columns] = df[id_columns].applymap(lambda x: '' if x == '-1' else x)
|
|
|
+ return df
|
|
|
+
|
|
|
def type_trans(self, df_report, columns: list, timeZone_: str, extra_columns: list = []):
|
|
|
# 添加字段
|
|
|
df_report['profileId'] = self.profile_id
|
|
@@ -102,9 +108,7 @@ class Common_ETLMethod(BaseClient):
|
|
|
columns.extend(["timeZone", "profileId"])
|
|
|
|
|
|
# 修改字段类型
|
|
|
- id_columns = [i for i in columns if 'id' in i.lower() and 'bid' not in i.lower()]
|
|
|
- df_report[id_columns] = df_report[id_columns].fillna(-1).applymap(lambda x: round(int(x), 0)).astype("string")
|
|
|
- df_report[id_columns] = df_report[id_columns].applymap(lambda x: '' if x == '-1' else x)
|
|
|
+ df_report = self.id_type_trans(df_report)
|
|
|
df_report['date'] = df_report['date'].astype("datetime64")
|
|
|
|
|
|
# df_report[df_report.select_dtypes('O').columns] = df_report[df_report.select_dtypes('O').columns].astype('string')
|
|
@@ -201,7 +205,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SP_spCampaigns_campaignV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SP_spCampaigns_campaignV3")
|
|
|
return df_report[params['columns']]
|
|
|
|
|
|
def reportV3_adGroup_spCampaignsETL(self, conn, params={}):
|
|
@@ -236,7 +240,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SP_spCampaigns_adGroupV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SP_spCampaigns_adGroupV3")
|
|
|
return df_report[params['columns']]
|
|
|
|
|
|
#
|
|
@@ -272,7 +276,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SP_spCampaigns_placementV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SP_spCampaigns_placementV3")
|
|
|
|
|
|
return df_report[params['columns']]
|
|
|
|
|
@@ -313,7 +317,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SP_spTargeting_targetingV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SP_spTargeting_targetingV3")
|
|
|
|
|
|
return df_report[params['columns']]
|
|
|
|
|
@@ -354,7 +358,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SP_spSearchTerm_searchTermV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SP_spSearchTerm_searchTermV3")
|
|
|
|
|
|
return df_report[params['columns']]
|
|
|
|
|
@@ -392,7 +396,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SP_spAdvertisedProduct_advertiserV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SP_spAdvertisedProduct_advertiserV3")
|
|
|
|
|
|
return df_report[params['columns']]
|
|
|
|
|
@@ -428,7 +432,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SP_spPurchasedProduct_asinV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SP_spPurchasedProduct_asinV3")
|
|
|
|
|
|
return df_report[params['columns']]
|
|
|
|
|
@@ -464,8 +468,10 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
list_targets = list(self.iter_targets())
|
|
|
df_targets = pd.json_normalize(list_targets)
|
|
|
# df_targets = self.TZ_Deal(df_targets, ["extendedData.creationDateTime", "extendedData.lastUpdateDateTime"])
|
|
|
- df_targets = self.expression_split(df_targets, "resolvedExpressions")
|
|
|
-
|
|
|
+ # df_targets = self.expression_split(df_targets, "resolvedExpressions")
|
|
|
+ df_targets = self.id_type_trans(df_targets)
|
|
|
+ df_targets['resolvedExpressions_type'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'type'))
|
|
|
+ df_targets['resolvedExpressions_value'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'value'))
|
|
|
return self.columnsName_modify(df_targets)
|
|
|
|
|
|
def budget_ETL(self, campaign_ids: list):
|
|
@@ -500,7 +506,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_sbPurchasedProduct_asinV3", df_report[params['columns']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_sbPurchasedProduct_asinV3")
|
|
|
|
|
|
return df_report[params['columns']]
|
|
|
|
|
@@ -532,7 +538,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_campaignsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_campaignsV2")
|
|
|
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
@@ -564,7 +570,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_campaignsVideoV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_campaignsVideoV2")
|
|
|
# print(df_report[params['metrics']].info())
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
@@ -592,7 +598,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['placement'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_campaignsPlacementV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_campaignsPlacementV2")
|
|
|
# print(df_report[params['metrics']].info())
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
@@ -624,7 +630,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_campaignsPlacementVideoV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_campaignsPlacementVideoV2")
|
|
|
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
@@ -655,7 +661,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_adGroupsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_adGroupsV2")
|
|
|
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
@@ -687,7 +693,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_adGroupsVideoV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_adGroupsVideoV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_targetsRecord_ETL(self, conn, params={}):
|
|
@@ -717,7 +723,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_targetsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_targetsV2")
|
|
|
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
@@ -750,7 +756,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_targetsVideoV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_targetsVideoV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_keywordsRecord_ETL(self, conn, params={}):
|
|
@@ -781,7 +787,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_keywordsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_keywordsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_keywordsVideo_ETL(self, conn, params={}):
|
|
@@ -813,7 +819,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_keywordsVideoV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_keywordsVideoV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_searchtermsRecord_ETL(self, conn, params={}):
|
|
@@ -839,7 +845,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_keywordsQueryV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_keywordsQueryV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_searchtermsVideo_ETL(self, conn, params={}):
|
|
@@ -868,7 +874,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_keywordsQueryVideoV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_keywordsQueryVideoV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_adsRecord_ETL(self, conn, params={}):
|
|
@@ -897,7 +903,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_adsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_adsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_adsVideo_ETL(self, conn, params={}):
|
|
@@ -930,7 +936,7 @@ class SB_ETL(SBClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SB_adsVideoV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SB_adsVideoV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
|
|
@@ -958,7 +964,10 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
def targets_ETL(self, **param):
|
|
|
list_targets = [row for _ in list(self.iter_targets(**param)) for row in _]
|
|
|
df_targets = pd.json_normalize(list_targets)
|
|
|
- df_targets = self.expression_split(df_targets, "resolvedExpression")
|
|
|
+ # df_targets = self.expression_split(df_targets, "resolvedExpression")
|
|
|
+ df_targets = self.id_type_trans(df_targets)
|
|
|
+ df_targets['resolvedExpressions_type'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'type'))
|
|
|
+ df_targets['resolvedExpressions_value'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'value'))
|
|
|
return self.columnsName_modify(df_targets)
|
|
|
|
|
|
def budget_ETL(self, campaignsIds: list):
|
|
@@ -1003,7 +1012,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_campaignsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_campaignsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_campaignsRecord_t3_ETL(self, conn, params={}):
|
|
@@ -1024,7 +1033,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_campaignsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_campaignsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
adGroups_metrics = [
|
|
@@ -1060,7 +1069,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_adGroupsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_adGroupsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_adGroupsRecord_t3_ETL(self, conn, params={}):
|
|
@@ -1081,7 +1090,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_adGroupsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_adGroupsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
productAds_metrics = [
|
|
@@ -1117,7 +1126,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_adsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_adsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_productAds_t3_ETL(self, conn, params={}):
|
|
@@ -1139,7 +1148,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_adsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_adsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
targets_metrics = [
|
|
@@ -1177,7 +1186,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
|
|
|
# print(df_report[params['metrics']].info())
|
|
|
conn.insert_df("AmazonReport.SD_targetsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_targetsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_targets_t3_ETL(self, conn, params={}):
|
|
@@ -1201,7 +1210,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
# print(df_report.info())
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_targetsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_targetsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
asins_metrics = [
|
|
@@ -1236,7 +1245,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
|
|
|
# print(df_report.info())
|
|
|
conn.insert_df("AmazonReport.SD_asinsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_asinsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_asins_t3_ETL(self, conn, params={}):
|
|
@@ -1259,7 +1268,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_asinsV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_asinsV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
campaigns_MT_metrics = [
|
|
@@ -1300,7 +1309,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_campaignsMatchedTargetV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_campaignsMatchedTargetV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_campaign_matchedTarget_t3_ETL(self, conn, params={}):
|
|
@@ -1323,7 +1332,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_campaignsMatchedTargetV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_campaignsMatchedTargetV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
adGroups_MT_metrics = [
|
|
@@ -1361,7 +1370,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_adGroupsMatchedTargetV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_adGroupsMatchedTargetV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_adGroups_matchedTarget_t3_ETL(self, conn, params={}):
|
|
@@ -1383,7 +1392,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report['tactic'] = 'Audiences targeting' # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
|
|
|
conn.insert_df("AmazonReport.SD_adGroupsMatchedTargetV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_adGroupsMatchedTargetV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
targets_MT_metrics = [
|
|
@@ -1419,7 +1428,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_targetsMatchedTargetV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_targetsMatchedTargetV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
def reportV2_targets_matchedTarget_t3_ETL(self, conn, params={}):
|
|
@@ -1440,7 +1449,7 @@ class SD_ETL(SDClient, Common_ETLMethod):
|
|
|
df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
|
|
|
|
|
|
conn.insert_df("AmazonReport.SD_targetsMatchedTargetV2", df_report[params['metrics']])
|
|
|
- print("插入完成")
|
|
|
+ print("插入完成SD_targetsMatchedTargetV2")
|
|
|
return df_report[params['metrics']]
|
|
|
|
|
|
|
|
@@ -1454,10 +1463,10 @@ if __name__ == '__main__':
|
|
|
conn = Common_ETLMethod(**AWS_CREDENTIALS).clickhouse_connect()
|
|
|
|
|
|
# SD
|
|
|
- ac_etl = SD_ETL(**AWS_CREDENTIALS)
|
|
|
+ ac_etl = SB_ETL(**AWS_CREDENTIALS)
|
|
|
ls = ac_etl.targets_ETL()
|
|
|
print(ls)
|
|
|
- print(ls.tail(20).to_excel('obse1.xlsx'))
|
|
|
+ print(ls.to_excel('obse11.xlsx'))
|
|
|
# ac_etl.reportV2_campaignsRecord_t2_ETL(conn)
|
|
|
# ac_etl.reportV2_campaignsRecord_t3_ETL(conn)
|
|
|
# ac_etl.reportV2_adGroupsRecord_t2_ETL(conn)
|