import pandas
import pymysql
import csv
# 创建连接对象
conn = pymysql.connect(host='xxx', port=3306, user='xxx',
password='xxx', database='xxx', charset='utf8')
# 获取游标对象
cursor = conn.cursor()
path = 'id.csv'
#读CSV文件
data = pandas.read_csv(path)
#根据列名读数据
#x = data[['id','token']]
y = data[['id']]
# 总行数
num = len(y)
#循环读取每一行
i = 0
while i<num:
z = y.iloc[i]
i=i+1
a=int(z)
#print(a)
# 查询 SQL 语句
sql = "SELECT id,token FROM `t_user_info` WHERE id ={};".format(a)
#执行sql
cursor.execute(sql)
#获取执行结果
b=cursor.fetchall()
#执行结果是一个元祖,获取元祖中的值
#如果是空元祖,不写入文件
p1=()
if b is p1:
pass
else:
result = b[0]
#把数据库中获取到的值,再写入csv文件
#'a+'追加方式写入文件
with open("result_customer.csv",'a+', encoding="utf-8", newline="") as file:
writer = csv.writer(file)
writer.writerow(result)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
#给CSV文件写入标题
df = pandas.read_csv("result_customer.csv",header=None,names=['id','token'])
#index = False ,否则csv文件列表会多一列
df.to_csv(path2,index=False)
python连接数据库,且sql中参数从csv文件中读取,再把sql执行结果写入csv文件
最新推荐文章于 2023-06-15 10:30:14 发布