|  | @@ -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)
 |