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, '2019051711273887000476636755')

mycursor.fetchall()           返回多行数据并以元组形式返回

(4, 0, '2019051711273887000476636755')
(3, 0, '2019051711285287000118015437')
(3, 0, '2019051711295687000831392646')
(1, 0, '2019051713350187000538274205')

        本处选择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, '2019051711285287000118015437']
[3, 0, '2019051711285287000118015437\t']

 5、读取csv文件

f=open('a.csv','r')
a=f.readlines()
for i in a:
    print(i)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐