python - 对 csv 文件的第一列进行硬编码,然后使用 Python 导入 google 分析

标签 python csv google-analytics

有没有办法对 csv 文件的第一列进行硬编码,然后从第二列开始从 Google Analytics 导入我的数据?

我的问题是,当我对第一列进行硬编码然后上传数据时,我的 Google 分析数据打印在 csv 文件的第一列而不是第二列上。

csv file

def print_csv_file(results):
 with open("Google Analytics.csv", "wt") as csvfile:
    if results.get('rows', []):
        # do headers into output_row
        csvfile.write('Site \n')
        for i in range(5):
                        csvfile.write('siteName') 
                        csvfile.write('\n')      
        output_row = ""

        for header in results.get('columnHeaders'):
            output_row += '"' + header.get('name') + '"' + ','

        csvfile.write(output_row + '\n')

        # do cells into output_row
        for row in results.get('rows'):
            output_row = ""
            counter = 1
            for cell in row:
                if cell.isdigit():
                    output_row += cell +','
                else:
                    try:
                        float(cell)
                        output_row+= cell +','
                    except ValueError:
                        output_row += '"' + cell + '"'+','
                counter +=1
            csvfile.write(output_row + '\n')
    else:
        csvfile.write('No Results Found')


def print_top_pages(service, start_date, end_date):
# Print out informat in that's queried.
query = service.data().ga().get(
    ids = GA_SITE_CODE,
    start_date = start_date,
    end_date = end_date,
    dimensions = 'ga:year,ga:pagePath',
    metrics = 'ga:pageviews,ga:uniquePageviews,ga:avgTimeOnPage,ga:entrances,ga:bounceRate,ga:exitRate',
    sort = '-ga:pageviews',
    start_index = 1,
    max_results = 10000).execute()
print_csv_file(query)

最佳答案

处理 CSV 数据时,您应该使用 csv 库,它可以简化读取和写入。由于你的问题不是很清楚,我只能猜测你想做什么。为此,请看一下代码的重写:

import csv

def print_csv_file(results):
    with open('Google Analytics.csv', 'w') as output_file:
        writer = csv.writer(output_file)

        if 'rows' not in results:
            writer.writerow(['No Results Found'])
            return

        header = ['Site'] + [cell['name'] for cell in results['columnHeaders']]
        writer.writerow(header)

        for row in results['rows']:
            row.insert(0, 'SiteName')
            writer.writerow(row)

关于python - 对 csv 文件的第一列进行硬编码,然后使用 Python 导入 google 分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267833/

相关文章:

javascript - 通用分析 : Multiple inline OnClick events triggered by single click

python - 服务器使用 Flask/Redis 发送事件 : how can more than one client view a stream?

python - 写入文本文件不是实时发生的。如何解决这个问题

python - 将日期字符串 (YYYY/YYYY_mm.mdf) 转换为可用的日期 Python

php - 将Mysql表数据导出为CSV,在标题上使用PHP,无需html代码

google-analytics - Google Analytics(分析)中的逐页转换率

python - Scikit-learn 逻辑回归的性能比用 Python 自行编写的逻辑回归要差

python - 尝试部署到heroku但不断被拒绝

excel - 逐行读取csv流,为Excel Range创建数组

firebase - 为什么 Google Analytics Firebase 从不显示自定义事件的参数?