google广告CRITERIA_PERFORMANCE_REPORT不允许删除第一行

时间:2019-11-13 00:17:36

标签: python-3.x pandas google-ads-api

我在使用google ads报告时遇到问题,不知道如何解决...我使用以下代码通过API调用从google ads中提取数据

import sys
from googleads import adwords
import pandas as pd
import pandas as np
import io

output = io.StringIO()
def main(client):
  # Initialize appropriate service.
  report_downloader = client.GetReportDownloader(version='v201809')

  # Create report query.
  report_query = (adwords.ReportQueryBuilder()
                  .Select('CampaignId', 'AdGroupId', 'Id', 'Criteria',
                          'CriteriaType', 'FinalUrls', 'Impressions', 'Clicks',
                          'Cost')
                  .From('CRITERIA_PERFORMANCE_REPORT')
                  .Where('Status').In('ENABLED', 'PAUSED')
                  .During('LAST_7_DAYS')
                  .Build())

  # You can provide a file object to write the output to. For this
  # demonstration we use sys.stdout to write the report to the screen.
  report_downloader.DownloadReportWithAwql(
      report_query, 'CSV', output, skip_report_header=False,
      skip_column_header=False, skip_report_summary=False,
      include_zero_impressions=True)
  output.seek(0)
  df = pd.read_csv(output)
  df = df.to_csv('results.csv')

if __name__ == '__main__':
  # Initialize client object.
  adwords_client = adwords.AdWordsClient.LoadFromStorage()

  main(adwords_client)

代码按预期工作并提取数据并将其保存在CSV文件中,但是,当我访问列时,当我打开列时仅打印一列'CRITERIA_PERFORMANCE_REPORT(Nov 5,2019-Nov 11,2019)' CSV文件看起来像这样

result.csv

我尝试使用df.drop(df.index [0])删除第一行以访问其余数据,但是似乎没有任何作用。有什么方法可以删除第一行或更改为将第二行用作列名,这是我期望的结果。

提前感谢

1 个答案:

答案 0 :(得分:1)

我可以通过以下下载请求删除该标题:

report_downloader.DownloadReportWithAwql(
    report_query, 'CSV', output, skip_report_header=True,
    skip_column_header=False, skip_report_summary=True, 
    include_zero_impressions=True
)

我认为,如果包括skip_report_header=True, skip_report_summary=True,您将得到想要的东西。