1、连接数据库
import mysql.connector#连接测试数据库mydb = mysql.connector.connect(host="10.100.0.0",user="root",passwd="root",database="rongpia")#获取游标mycursor=mydb.cursor()
2、执行sql语句,sql语句外加引号
sql = "select status,red_status,order_id from cd_order where seller_tax_code in ('91510100MA6CT7K03N','92510100MA6C5AH52D')"mycursor.execute(sql)
3、将取得的数据读出来
mycursor.fetchone() 读取首行数据并以元组形式返回
(4, 0, '051711273887000476636755')
mycursor.fetchall()返回多行数据并以元组形式返回
(4, 0, '051711273887000476636755')(3, 0, '051711285287000118015437')(3, 0, '051711295687000831392646')(1, 0, '051713350187000538274205')
本处选择fetchall()
4、将取得的数据写入csv文件
import csv with open('a.csv','w+',newline='') as file:write=csv.writer(file)for i in myresult:a = list(i)write.writerow(a)
***注意:
1、写入数据的方式,type=list
writer.writerow(list1) 输入一行内容,将列表list1中的所有元素输入到文件一行。
writer.writerows(listt2)输入多行内容,将列表list1中的元素输入到文件多行,列表list1中的每个元素占一行,list2中的元素需为“可迭代的元素”,字符串是可迭代,整数是不可迭代的。
2、文件的写入必须在with as 块内,因为with as会在缩进外自动关闭文件,不能再写入。
3、写入的数字过长,在CSV中写成了科学计数法样式
解决方式:在写入的字符串后加上 '\t' 横向制表符
[3, 0, '051711285287000118015437'][3, 0, '051711285287000118015437\t']
5、读取csv文件
f=open('a.csv','r')a=f.readlines()for i in a:print(i)