我是初学者,我到处尝试在线搜索,但我不确定我是否正在搜索合适的字词。
我的CSV文件看起来像这样:
https://drive.google.com/file/d/0B74bmJNIxxW-dWl0Y0dsV1E4bjA/view?usp=sharing
我想知道如何使用CSV文件执行此类操作,
driver.find_element_by_name(' EMAILADDRESS')send_keys(" johndoe@example.com")。
打印"已成功输入电子邮件..."
答案 0 :(得分:0)
有很多方法可以做到这一点。一种方法是使用csv模块。
with open("foo.csv", "r") as fh:
lines = csv.reader(fh)
for line in lines:
address = line[0]
driver.find_element_by_name('emailAddress').send_keys(address)
答案 1 :(得分:0)
在这里发布数据确实很有帮助,这样我们就可以看到格式本身是什么,并自己运行代码。所以,我发明了一些样本数据
emails.csv
Email,Password,First Name,Last Name,City
foo1@example.com,frobinate,John,Doe,District Heights
foo2@example.com,frobinate,John,Doe,District Heights
foo3@example.com,frobinate,John,Doe,District Heights
foo4@example.com,frobinate,John,Doe,District Heights
我可以使用csv
模块来阅读它。 csv.DictReader
将每行读入自己的dict
,让我按标题中给出的名称引用单元格。由于我稍后会通过电子邮件名称查找记录,因此我会将其读入另一个dict
,它将作为记录的索引。如果同一个用户在那里多次,则只会记住最后一个用户。
在索引到位后,我可以通过电子邮件名称获取该行。
>>> import csv
>>> with open('emails.csv', newline='') as fp:
... reader = csv.DictReader(fp) # auto-reads header
... for row in reader:
... email_index[row['Email']] = row
...
>>> for item in email_index.items():
... print(item)
...
('foo3@example.com', {'Email': 'foo3@example.com', 'City': 'District Heights', 'First Name': 'John', 'Password': 'frobinate', 'Last Name': 'Doe'})
('foo2@example.com', {'Email': 'foo2@example.com', 'City': 'District Heights', 'First Name': 'John', 'Password': 'frobinate', 'Last Name': 'Doe'})
('foo4@example.com', {'Email': 'foo4@example.com', 'City': 'District Heights', 'First Name': 'John', 'Password': 'frobinate', 'Last Name': 'Doe'})
('foo1@example.com', {'Email': 'foo1@example.com', 'City': 'District Heights', 'First Name': 'John', 'Password': 'frobinate', 'Last Name': 'Doe'})
>>>
>>> user = 'foo1@example.com'
>>> record = email_index[user]
>>> print("{Email} is {First Name} {Last Name} and lives in {City}".format(**record))
foo4@example.com is John Doe and lives in District Heights
>>>