使用从两个列表中提取的两个变量迭代连接到 API 的一段代码

Iterate a piece of code connecting to API using two variables pulled from two lists

我正在尝试 运行 一个脚本(API 到 google 搜索控制台)超过 table 个关键字和日期,以检查是否有日期后关键字性能 (SEO) 的改进。

因为我真的很无能,我在猜测和尝试,但 Jupiter notebook 没有响应,所以我什至无法判断我是否错了...

此 git 由 Josh Carty 制作 我从中获取此代码的 git 是: https://github.com/joshcarty/google-searchconsole

已经 pd.read_csv 输入 table(由两列 'keyword' 和 'date' 组成), 将列分成两个单独的列表(或者使用 dictionary/other 可能更好?):

KW_list 和 Date_list

我试过: 对于 KW_list 中的 i 和 Date_list 中的 j:

for i in KW_list and j in Date_list:

 account = searchconsole.authenticate(client_config='client_secrets.json',
                                      credentials='credentials.json')
 webproperty = account['https://www.example.com/']
 report = webproperty.query.range(j, days=-30).filter('query', i, 'contains').get()
 report2 = webproperty.query.range(j, days=30).filter('query', i, 'contains').get()
 df = pd.DataFrame(report)
 df2 = pd.DataFrame(report2)
df

期望在相邻单元格(在输入文件中)中的日期之前 30 天的日期看到所有不同关键字的数据框(keyowrd1-stat1,keyword2 - 下面的 stats2 等 [无覆盖]) ) 或者至少 J.notebook 有一些回应,这样我就知道发生了什么。

尝试使用 zip 函数将列表组合成元组列表。这样就把日期和对应的关键字结合起来了。

account = searchconsole.authenticate(client_config='client_secrets.json', credentials='credentials.json')
webproperty = account['https://www.example.com/']
df1 = None
df2 = None
first = True

for (keyword, date) in zip(KW_list, Date_list):
   report = webproperty.query.range(date, days=-30).filter('query', keyword, 'contains').get()
   report2 = webproperty.query.range(date, days=30).filter('query', keyword, 'contains').get()

    if first:
        df1 = pd.DataFrame(report)
        df2 = pd.DataFrame(report2)
        first = False
    else:
        df1 = df1.append(pd.DataFrame(report))
        df2 = df2.append(pd.DataFrame(report2))