我在使用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文件看起来像这样
我尝试使用df.drop(df.index [0])删除第一行以访问其余数据,但是似乎没有任何作用。有什么方法可以删除第一行或更改为将第二行用作列名,这是我期望的结果。
提前感谢
答案 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
,您将得到想要的东西。