// РЕДАКТИРОВАТЬ: Этот вопрос является своего рода подвопросом.Для более короткого и лучшего примера, который имеет лучшие ответы, отметьте This Post
Я очень новичок в Python и еще новее в пандах.Я работаю с ним, по крайней мере, месяц, и думаю, что я собрал большинство основ.
Моя текущая задача - записать значения в определенную ячейку, в определенном пространстве внутри xslx-файла..
Ситуация
У меня есть очень большой файл Excel, содержащий различные данные, от имен до адресов электронной почты и всего остального.Также у меня есть два списка (.txt-файлы) с одинаковыми адресами электронной почты в файле excel, но эти электронные письма были проверены, соответствуют ли они определенным проверкам безопасности или нет.В зависимости от результата они хранятся внутри файла «Secured.txt» или «Unsecured.txt».
Для записи и чтения в Excel-файле я использую pandas.
Задание
Рядом со столбцом «Электронные письма» в файле Excel есть столбец, в котором вы помечаете запись либо, если электронное письмо защищеноили без обеспечения.Моя настоящая задача состоит в том, чтобы вставить эти записи, в зависимости от того, в каком текстовом файле находится электронная почта.
Возможное решение
Мой подход к решению этой проблемы - прочитать каждый .txt-файл и сохранитькаждый адрес электронной почты в переменной, используя список и цикл for.Итерируя по этим электронным письмам, я знаю, что хочу найти местоположение адреса электронной почты внутри файла excel и получить доступ к ячейке рядом с ним. Та же строка, другой столбец.Поскольку электронные письма уже были отсортированы в соответствии с их проверкой безопасности, я просто могу вставить соответствующее значение в ячейку проверки рядом с письмом.
Вопрос
У меня следующий вопрос: Как мне подойти к определенной строке на основе значения в ней? Я хочу найти место в ячейке, которая включает в себяфактическое содержимое переменной «mails», так что я могу перейти к ячейке рядом с ней.Поскольку я знаю все имена столбцов, мне просто нужен индекс строки, в которой находится электронная почта.Я получил координату х и мне нужна координата у.
Пример
До сих пор у меня есть считывание .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', в какую-то функцию "locate" панд , чтобы выяснить, в какой строкефактический адрес электронной почты лежит. Как только я узнаю, в какой строке находится адрес, я могу теперь сказать пандам написать либо «x», говоря, что почта защищена, либо «o», что означает, что почта не защищена., в следующем столбце.
Мой готовый кадр данных может выглядеть так:
Finished Dataframe:
Forename Last Name Email Protection
1 John Kennedy John@gmx.net x
2 Donald Trump Donald@gmx.net o
3 Bill Clinton Bill@gmx.net x
4 Richard Nixton Richard@gmx.net x
Я очень ценю помощь.