Python 在第三方API函数中传递两个列表

Python 在第三方API函数中传递两个列表,python,python-3.x,thomson-reuters-eikon,Python,Python 3.x,Thomson Reuters Eikon,我已经被困在这个问题上很多天了 a = pd.date_range(start= '02/02/2017', end='06/02/2018', freq = 'D') c = a.format(formatter=lambda x: x.strftime('%Y-%m-%d')) for date_to in c: date_to= date_to print("date_to has been picked up") b = pd

我已经被困在这个问题上很多天了

 a = pd.date_range(start= '02/02/2017', end='06/02/2018', freq = 'D')
 c = a.format(formatter=lambda x: x.strftime('%Y-%m-%d'))

    for date_to in c:
        date_to= date_to
        print("date_to has been picked up")
        b = pd.date_range(start= '02/01/2017', end='06/2/2018', freq = 'D')
        d = b.format(formatter=lambda x: x.strftime('%Y-%m-%d'))
        for date_from in d:
            date_from= date_from
            print('date_from has been picked up')
            df = ek.get_news_headlines('R:AAPL.O AND Language:LEN', date_from = date_from , date_to = date_to, count=100)

以上是我为从第三方API中提取新闻而编写的代码(在最后一行代码中)。我面临的问题是,在最后一行中,我必须给出date_from和date_to,以提供提取数据的日期范围。现在我想让日期范围每次都像循环中一样自动更改。最后一个循环“date\u from”正在工作,但第一个循环没有提供“date\u to”。提前感谢您的合作

您的问题有点不清楚,但我认为这正是您想要实现的目标-同时获取日期对并移动到下一对(n次迭代),而不是两个嵌套for循环(n2次迭代):

您可能想了解
zip()
的工作原理:


你说的“不提供”是什么意思?您意识到,您目前构建循环的方式意味着您将运行每个日期,从一次运行日期到“2017年2月2日”,然后再次运行日期到“2017年2月3日”,以此类推-这是故意的吗?是的,这是故意的,因为API日期中的日期总是向后。注:提供表示该日期不变。只有一次日期到来,然后只有第二个循环日期在改变,但我希望他们同时改变和编译数据。你能描述一下你正在寻找的输出和你目前得到的是什么吗?输出日期变化像“03 feb 17,02 feb 17,1 feb 17”,这是一个Kwag,但“date to”与2017年2月2日一样是静态的,但我希望它也与第二个日期平行更改,以便可以按顺序编译日期,而无需重复
d
的日期数与
c
的日期数不同(也就是说,
len(d)!=len(c)
-如果您希望它们一起移动,那么当其中一个列表的未处理日期已用完,而另一个列表的未处理日期仍然存在时,您希望发生什么情况?
#Create date lists first
a = pd.date_range(start= '02/02/2017', end='06/02/2018', freq = 'D')
b = pd.date_range(start= '02/01/2017', end='06/2/2018', freq = 'D')
c = a.format(formatter=lambda x: x.strftime('%Y-%m-%d'))
d = b.format(formatter=lambda x: x.strftime('%Y-%m-%d'))

# Single for loop iterating over pairs of elements of c,d
for date_to,date_from in zip(c,d): 
    print("date_to has been picked up")
    print('date_from has been picked up')
    df = ek.get_news_headlines('R:AAPL.O AND Language:LEN', date_from = date_from , date_to = date_to, count=100)