将数据库中数据写入本地文件中
2019-11-28 11:46 改改~_~ 阅读(1167) 评论(0) 编辑 收藏 举报Jmeter做性能测试中,需要读取订单号的数据
从数据库中查询复制到文件中麻烦了;
直接用JDBC从数据库中读取,担心会影响实际测试结果,因此需要把数据手动复制到文件中
python代码的实现:
import selenium import requests import json from lxml import html # from sgmllib import SGMLParser from lxml import etree import pymysql import mysql_ok phones=1591038300 filename='888mysql_yx.txt' ''' 从数据库中取数据写到本地文件中 ''' mydb = pymysql.connect(host="10.253.125.188", port=3306, user="root", passwd="sjroot", db="user", charset='utf8') mycursor = mydb.cursor() '''查询手机号码''' # sql = "SELECT phone_tel FROM user.t_user_info where phone_tel like '%{}%';".format(phones) '''查询用户id''' # sql = "SELECT t.id,t.phone_tel FROM user.t_user_info t where t.phone_tel like '%{}%';".format(phones) '''查询授信订单号''' sql = "SELECT a.app_id FROM bill_data.t_org_br_credit_info a left join user.t_user_info b on a.user_id=b.id " \ "where a.user_id in (SELECT id FROM user.t_user_info t where "\ "t.phone_tel like '%{}%' ) "\ "order by phone_tel ASC;".format(phones) '''查询用信订单号''' mycursor.execute(sql) myresult =mycursor.fetchall() fp = open('E:\\apache-jmeter-4.0\\test\\ziyingfiles\\{}'.format(filename),'w') num_count=0 for x in myresult: num_count+=1 print('phone_tel:', x[0], type(x)) fp.write(x[0] + "\n") fp.close() mycursor.close() mydb.close() print('写入完成,共写入{0}条数据'.format(num_count))
写到函数中for循环不执行,为什么呢呢??
import selenium import requests import json from lxml import html # from sgmllib import SGMLParser from lxml import etree import pymysql import mysql_ok phones=1591038300 filename='888mysql_yx.txt' ''' 从数据库中取数据写到本地文件中 问题:for循环不执行 ''' def get_mysql_datas(file): mydb = pymysql.connect(host="10.253.125.188", port=3306, user="root", passwd="sjroot", db="user", charset='utf8') mycursor = mydb.cursor() '''查询手机号码''' # sql = "SELECT phone_tel FROM user.t_user_info where phone_tel like '%{}%';".format(phones) '''查询用户id''' # sql = "SELECT t.id,t.phone_tel FROM user.t_user_info t where t.phone_tel like '%{}%';".format(phones) '''查询授信订单号''' # sql = "SELECT b.phone_tel,a.app_id FROM bill_data.t_org_br_credit_info a left join user.t_user_info b on a.user_id=b.id " \ # "where a.user_id in (SELECT id FROM user.t_user_info t where "\ # "t.phone_tel like '%{}%' ) "\ # "order by phone_tel ASC;".format(phones) '''查询用信订单号''' sql = " select a.app_id from bill_data.t_org_br_apply_info a left join user.t_user_info b on a.user_id=b.id "\ "where a.app_id in (select b.app_id from bill_data.t_org_br_apply_person b where "\ "b.tel_1 like '%{}%');".format(phones) mycursor.execute(sql) myresult =mycursor.fetchall() fp = open(file,'w') num_count=0 for x in myresult: num_count+=1 print('phone_tel:', x[0],type(x)) fp.write(x[0]+ "\n") fp.close() mycursor.close() mydb.close() print('写入完成,共写入{0}条数据'.format(num_count)) if __name__ =="__main__": file = 'E:\\apache-jmeter-4.0\\test\\ziyingfiles\\{}'.format(filename) get_mysql_datas(file)