//编辑:这个问题是一个子问题。对于一个更短更好的例子,它有更好的回复,请查看这篇文章
我对python很陌生,甚至对pandas也很陌生。我已经使用它至少一个月了,我想我已经掌握了大部分基础知识。
我当前的任务是将值写入 certrain 单元格中,位于 xslx 文件内的某个空间中。
我有一个非常大的 excel 文件,其中包含各种数据,从姓名到电子邮件地址等等。同样,我有两个列表(.txt 文件),其中包含与 excel 文件相同的电子邮件地址,但这些电子邮件是否与某些安全检查匹配,都会得到验证。根据结果,它们被存储在“Secured.txt”或“Unsecured.txt”文件中。
为了在 excel 文件中写入和读取,我使用了 Pandas。
在 Excel 文件中的“电子邮件”列旁边,有一列您可以在其中标记电子邮件是安全的还是不安全的条目。我的实际任务是插入这些条目,具体取决于电子邮件所在的文本文件。
我解决这个问题的方法是读出每个 .txt 文件并使用列表和 for 循环将每个电子邮件地址存储在一个变量中。遍历这些电子邮件,我知道想要在 excel 文件中查找电子邮件地址的位置并访问它旁边的单元格。同一行,不同列。由于电子邮件之前已针对其安全验证进行了排序匹配,因此我只需将相应的值放入电子邮件旁边的验证单元格中即可。
我的问题如下:如何根据其中的值处理特定行? 我想找到包含变量“mails”实际内容的单元格的位置,这样我就可以移动到它旁边的单元格。由于我知道所有列的名称,因此我实际上只需要电子邮件所在行的索引。我得到了 x 坐标,需要 y 坐标。
到目前为止,我所拥有的是 .txt 文件的读数:
import pandas as pd
import os
import re
#fetching the mail adress through indexnumber out of the list
with open('Protected/Protected G.txt', 'r') as file:
#creating the regex pattern to sort out the mail adresses
rgx = '\S+@\S+'
#read the file and convert the list into a string
content = file.readlines()
content_str = ''.join(content)
#get the mails out of the "list" with regex
mails = re.findall(rgx, content_str)
#put each mailadress in a variable
for item in mails:
print(item)
这个虚拟数据框代表我正在使用的 Excel 表:
Dummy-Dataframe:
Forename Last Name Email Protection
1 John Kennedy John@gmx.net
2 Donald Trump Donald@gmx.net
3 Bill Clinton Bill@gmx.net
4 Richard Nixton Richard@gmx.net
我知道想将存储在变量“item”中的实际地址传递给熊猫的某种“定位”功能,以便找出实际电子邮件所在的行。一旦我知道地址位于哪一行,我现在可以告诉 pandas 在下一列中写一个“x”,表示邮件受保护,或者写一个“o”,表示邮件不受保护。
回首忆惘然
相关分类