CSV ファイルをループして各行から項目を取得QLineEdit
し、GUI に挿入しようとしています。
ボタンをクリックするself.nextAppointment
と、フィールドが入力されますが、常に CSV ファイルの最後の行の電子メール アドレスが表示されます。ボタンのその後のクリックは、何もしないように見えます。
ジェネレーターを正しく作成/使用していないと思いますが、よくわかりません。
CSV ファイルをループして、必要なフィールドを取得し、CSV の行ごとに一度に GUI に入れるにはどうすればよいですか。
関連するコードは次のとおりです。
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())