在现有表中创建新列并使用python更新列

在这里,我试图将一个表与具有数百万个记录的2个表进行比较,所以我想分别比较dem并在主表“ tabl”名称状态中创建一个单独的列,以便我可以自己更新


步骤:在主表中的电子邮件名称“ status”旁边创建一个新列


步骤2:必须在与tab1,tab2表进行比较时更新该列


list_of_tables=['tab1','tab2'] 

for tab in list_of_tables:

    cursor.execute("select main.*,if({}.email is not null ,'MATCH','NONMATCH') stataus from main left join {} on main.email={}.email".format(tab,tab,tab))

     data_2 = cursor.fetchall()

     print data_2

     data3=list(data_2)

     data_3=pd.DataFrame(data3)

     upload(ftp,data_3,FILEPATH)


def upload(ftp,data_3,FILEPATH):

    data_4=data_3.to_csv(Out_file,index=False,header=None)



main:


email

abc@gamil.com

xyz@email.com

ijk@gmail.com

ghi@gmail.com

pqr@gmail.com

yup@gmail.com

tab1:


email

ijk@gmail.com

yup@gmail.com

tab2:


email

xyz@email.com

pqr@gmail.com

要求的结果


email           valid

abc@gamil.com   non-match

xyz@email.com   match

ijk@gmail.com   match

ghi@gmail.com   non-match

pqr@gmail.com   match

yup@gmail.com   match


but getting like dis:


abc@gamil.com       non-match

xyz@email.com       non-match

ijk@gmail.com       match

ghi@gmail.com       non-match

pqr@gmail.com       non-match

yup@gmail.com       match

abc@gamil.com       nonmatch

xyz@email.com       match

ijk@gmail.com       nonmatch

ghi@gmail.com       nonmatch

pqr@gmail.com       nonmatch

yup@gmail.com       nonmatch


温温酱
浏览 206回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python