我正在尝试从特定列中以逗号分隔的格式获取所有电子邮件地址。这来自Lambda中的csv临时文件。我的目标是将该文件保存在s3中,并且只有一列包含电子邮件地址。
这是我的代码:
#open file and extract email address
with open('/tmp/maillist.csv', 'w') as mail_file:
wm = csv.writer(mail_file)
mail_list = csv.reader(open('/tmp/filtered.csv', "r"))
for rows in mail_list:
','.join(rows)
wm.writerow(rows[3])
bucket.upload_file('/tmp/maillist.csv', key)
我希望得到这样的结果:
但是,相反,我得到这样的结果:
我也尝试过此代码:
#open file and extract email address
mail_list = csv.reader(open('/tmp/filtered.csv', "r"))
with open('/tmp/maillist.csv', 'w') as mail_file:
wm = csv.writer(mail_file)
wm.writerow(mail_list[3])
bucket.upload_file('/tmp/maillist.csv', key)
但我却收到此错误:
Response:
{
"errorMessage": "'_csv.reader' object is not subscriptable",
"errorType": "TypeError",
"stackTrace": [
" File \"/var/task/lambda_function.py\", line 68, in lambda_handler\n wm.writerow(mail_list[3])\n"
感谢您的任何帮助。
问题1:
[','.join(rows)
未分配给任何变量
问题2:
mail_list = csv.reader(open('/tmp/filtered.csv', "r"))
上面的线表示mail_list
是csvreader
对象。您可以使用该对象读取行。