在Python中迭代两个列表

时间:2019-07-19 16:07:57

标签: excel python-3.x list loops iteration

我正在尝试遍历两个列表-我正在使用一种将填充Web表单的工具,我已经有了一些不错的Selenium代码,但是循环存在问题,它将从excel获取电子邮件和ID文件。所以我得到一个错误:

for DUNS_data, Email_data in EmailsAdressCore():
TypeError: 'DataFrame' object is not callable

我已经尝试使用ddof=1,但是我不知道该在哪里添加...

import pandas as pd
import xlrd

EmailsAdressCore = pd.read_excel (r'C:\Users\M0099969\Desktop\VW\DUNSBase.xlsx', sheet_name='Arkusz1')

DUNS_data = EmailsAdressCore['DUNS'].values.tolist()
Email_data = EmailsAdressCore['email'].values.tolist()

for DUNS_data, Email_data in EmailsAdressCore():
    print('DUNS: ' + DUNS_data + 'Email adress is:' + Email_data)

所以我希望能够将这两列相邻打印,我需要这段代码来填充循环中的表格。

2 个答案:

答案 0 :(得分:0)

EmailsAdressCore不是一个函数,因此您无法尝试使用()对其进行调用。并且您已经提取了DUNS_dataEmail_data,因此您应该对其进行迭代。

我认为您正在寻找的是

for d1, d2 in zip(DUNS_data, Email_data):
    print('DUNS: ' + d1 + 'Email adress is:' + d2)

答案 1 :(得分:0)

因此,要遍历2个或更多列表的唯一方法是:

import itertools
from itertools import zip_longest   

CategoryCore = pd.read_excel, sheet_name='Arkusz1')
IssueDesc = CategoryCore['Issue:'].values.tolist()
Category = CategoryCore['Category'].values.tolist()

for (a,b)  in itertools.zip_longest(IssueDesc, Category):
print(a,b)

我找不到其他方法,这个循环效果很好