我是 python 新手,但是经过 3 天的阅读并找到没有成功的解决方案后,我迷失了。
我有带有数据的mysql表(id,user_id ...)。我连接到数据库,读取 user_id 并将数据保存到数组“用户”中。然后我打开包含很多行和列(user_id、姓名、邮件、电话、地址...)的 csv 文件。在下一步中,我比较 db 中的 user_id 是否与 csv 文件中的 user_id 匹配。如果答案是肯定的,那么我将这一行写在另一个 csv 文件中。
问题是我的代码只适用于第一个 id_user。拜托,你能帮帮我吗?
示例表:
table in db:
id user_id
1 318604
2 318624
.csv 文件:
318604; John; john@gmail.com
318604; 053746; USA
318624; Lucy; Lucy@gmail.com
318624; 058839 Sweeden
318630; Luke; Luke@gmail.com
新文件中的预期结果:
318604; John; john@gmail.com
318604; 053746; USA
318624; Lucy; Lucy@gmail.com
318624; 058839 Sweeden
代码:
cur = con.cursor()
with open('input.csv', mode='rb') as f:
reader = csv.reader(f, delimiter=';')
with open('output.csv', mode='a') as w:
writer = csv.writer(w)
with con:
cur.execute("SELECT user_id FROM users")
user=cur.fetchall()
for i in range(len(user)):
for row in reader:
if(user[i][0]==row[0]):
writer.writerow(row)
con.close()