谷歌广告词使用python控制台下载报告

时间:2014-01-24 04:33:24

标签: python csv google-adwords

当我尝试运行它时,这是我的代码我在控制台中收到此错误。

path = 'MYpaath'
    report_downloader = client.GetReportDownloader(version='v201309')

    # Create report definition.
    report = {
              'reportName': 'Last 7 days CRITERIA_PERFORMANCE_REPORT',
              'dateRangeType': 'LAST_7_DAYS',
              'reportType': 'CRITERIA_PERFORMANCE_REPORT',
              'downloadFormat': 'CSV',
              'selector': {
                           'fields': ['CampaignId', 'AdGroupId', 'Id', 'CriteriaType',
                 'Criteria', 'Impressions', 'Clicks', 'Cost']
                           },
  # Enable to get rows with zero impressions.
  'includeZeroImpressions': 'false'
    }
    print("============================================",report)
    file1= report_downloader.DownloadReport(report, file_path=path)
    print 'Report was downloaded to \'%s\'.' % file1

运行此

后出错
file= report_downloader.DownloadReport(report, file_path=path)
File "C:\Python27\lib\site-packages\adspygoogle-1.1.4-py2.7.egg\adspygoogle\adwords\ReportDownloader.py", line 100, in DownloadReport
fileobj = open(file_path, 'w')
IOError: [Errno 22] invalid mode ('w') or 
filename:'MYpath'

1 个答案:

答案 0 :(得分:2)

我遇到了类似的错误,它与路径以及打开文件并写入文件的方式相关联。设置以下路径:

path = os.path.join(os.path.dirname(os.path.realpath(__file__)),"temp","report.csv")

这基本上设置了路径:/path/to/your/python/script/TEMP/report.csv

如果您的临时文件夹或report.csv文件不存在,则会在此过程中创建它们。

之后,您需要打开文件,写入文件并关闭它。以下脚本可以这样做:

f = open(path,'wb')
f.write(report_downloader.DownloadReport(report))
f.close()

所以你基本上是在打开文件中直接运行下载命令,然后关闭它。

希望这有帮助!

Aivoric