Я пытаюсь пропустить CSV-файл и получить элемент из каждой строки и вставить его в QLineEdit
в графическом интерфейсе.Python Generator Возвращает последний элемент
Когда я нажимаю кнопку self.nextAppointment
, он заполняет поле, но всегда с адресом электронной почты последней строки в файле CSV. Последующие щелчки кнопки не показывают ничего.
Я думаю, что я не создаю/использую генератор правильно, но я не уверен.
Как прокрутить файл CSV и получить поля, которые я хочу вернуть, чтобы я мог поместить их в графический интерфейс одновременно для каждой строки CSV.
Вот соответствующий код:
self.nextAppointment.clicked.connect(self.nextFunction)
def nextFunction(self):
self.emailGenerator = self.nextEmail()
for email in self.emailGenerator:
self.toField.setText(email)
def nextEmail(self):
with open('assigned_appt_leads.csv', 'rb') as infile:
rdr = csv.DictReader(infile, dialect='excel')
for line in rdr:
yield line['Email Address']
Я проверил, используя следующий, и он получает первый адрес электронной почты, но нажатие рядом не меняю его на адрес электронной почты следующей строки.
def nextFunction(self):
self.emailGenerator = self.nextEmail()
self.toField.setText(self.emailGenerator.next())
Спасибо за ответ. Моя цель состоит в том, чтобы только один адрес электронной почты был указан за раз в поле. После нажатия следующей кнопки он возьмет следующую строку в адресе электронной почты файла CSV и другие данные для других полей. – novafluxx
Обновлен ответ, чтобы предоставить вам лучший вариант сделать именно это. –
Я пробовал это сделать, и он не очищает поле и, кажется, только извлекает первую строку. То, что вы говорите, имеет смысл. – novafluxx