2

我对此很陌生,本周才开始研究 python。

我目前正在尝试从 Google Analytics 中提取数据,并且需要提取多天的数据。但是,我在尝试循环代码多天时遇到问题:

代码:

for date in daterange( start, end ):
    # EXTRACT OVERALL VISITS AND UNIQUE VISITS;
        def get_results(service, profile_id):
            return service.data().ga().get(
                ids='ga:' + profile_id,
                start_date=str(date),
                end_date=str(date),
                metrics='ga:visits,ga:newVisits,ga:visitors').execute()

然而,这似乎没有循环,但给我定义的最后一个日期的数据。

4

2 回答 2

3

您的 for 循环重复定义一个函数,但从不调用它。

尝试这个:

def get_results(service, profile_id, date):
    return service.data().ga().get(
            ids='ga:' + profile_id,
            start_date=str(date),
            end_date=str(date),
            metrics='ga:visits,ga:newVisits,ga:visitors').execute()

for date in daterange(start_date, end_date):
    get_results(service, profile_id, date)
于 2012-06-14T00:21:55.357 回答
0
for date in daterange( start, end ):

    # EXTRACT OVERALL VISITS AND UNIQUE VISITS;
        def get_results(service, profile_id):
            return service.data().ga().get(
                ids='ga:' + profile_id,
                start_date=str(date),
                end_date=str(date),
                metrics='ga:visits,ga:newVisits,ga:visitors').execute()
    # EXTRACT UNIQUE PAGE VIEWS FOR IMPORTANT STAGES;

        def print_results(results):
            if results:
                # Print data nicely for the user.
                print (results)
                #print 'First Profile: %s' % results.get('profileInfo').get('profileName')
                #print 'Total Visits: %s' % results.get('rows')[0][0]
                #print 'Total New Visits: %s' % results.get('rows')[0][1]
                #print 'Total Unique Visitors: %s' % results.get('rows')[0][2]
                #print 'Unique Visitors Starting the Survey: %s' % results2.get('rows')[0][0]
                #print 'Unique Visitors Completing the Survey: %s' % results3.get('rows')[0][0]
                #print 'Unique Visitors Registering: %s' % results4.get('rows')[0][0]
                #print f

                # OUTPUT TO FILE.
               # f.write (str(date) + ',' + results.get('rows')[0][0] + ',' + results.get('rows')[0][2] + ',' + results2.get('rows')[0][0] + ',' + results3.get('rows')[0][0] + ',' + results4.get('rows')[0][0] + '\n')
                #f.close()
            else:
                print 'No results found'
于 2012-06-14T01:45:55.417 回答