簡體   English   中英

Python-遍歷csv文件中的列

[英]Python- Iterating through columns in csv file

我正在一個項目中,我將不得不遍歷一個csv文件。 我想看看每行的第4列(第3個插槽)是否在我的詞典中已經有一個包含該人的姓名和電子郵件地址的電子郵件地址。 如果他們是我想發回給他們附件。 我對Python不太熟悉,所以我想看看我是否朝着正確的方向前進

這是一個示例代碼:

導入csv

with open("file.csv") as csv_file:
for row in csv.reader(csv_file, delimiter=','):
    if row[3] in data_dict:
        email = EmailMessage('subject', 'body', [address@something.com])
        email.attach_file('/folder/name.csv')
        email.send()

當涉及附件時,我建議使用yagmail軟件包(充分披露:我是開發人員)

通過運行獲取它:

pip install yagmail # for python 2
pip3 install yagmail # for python3 

然后:

import yagmail

yag = yagmail.SMTP('myemail', 'mypassword')

with open("file.csv") as csv_file:
for row in csv.reader(csv_file, delimiter=','):
    row = row.split(',')
    if row[3] in data_dict:
        contents = ['See my file attached', '/folder/name.csv']
        yag.send(row[3] + '@email.com', 'subject', contents)

請注意,任何可以作為文件打開的contents都將被附加(當傳遞給/folder/name.csv參數時),因此,如果/folder/name.csv是該列表中的有效路徑,它將作為附件發送。

那這樣的東西呢?

with open("file.csv") as f:
    for line in f.readlines():
        cols = line.split(',')
        if cols[3] in data_dict:
            email = EmailMessage('subject', 'body', [address@something.com])
            email.attach_file('/folder/name.csv')
            email.send()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM