python pymysql用法_python-pymysql使用

今天领导提了一个需求,使用py将数据库中的文件提取出并制成csv文件

首先查了一下资料需要两个模块:csv模块、pymysql模块。

importpymysqlimport csv

使用def函数将从数据库提取数据写在一起(游标功能是数据库中一个非常重要的概念)

首先,使用pymysql连接上mysql数据库,得到一个数据库对象。

然后,我们必须要开启数据库中的游标功能,得到一个游标对象。

接着,使用游标对象中的execute()方法,去执行某个SQL语句,系统会根据你的SQL语句,找到这些匹配行,给你存储起来,而不是一次性的打印到频幕上。当你什么时候需要这个结果中的数据的时候,你就去获取它。

最后,就是获取结果集中的数据了,这里有两种方法获取结果集中的数据。一个是fetchone(),该方法一次获取一条记录,每一条记录是一个元组形式的数据,每获取一条记录游标会往前移动一格,等待获取下一条记录;一个是fetchall()方法,能够一次性的获取所有的数据,该方法返回的是一个元组列表。

当完成所有操作后,记得断开数据库的连接,释放资源。

def from_mysql_get_all_info():

conn = pymysql.connect( #连接数据库,创建一个数据库对象

host='127.0.0.1',

port=3306,

user='root',

passwd='root',

db='mysql',

charset='utf8')

cursor = conn.cursor() #开启游标功能,创建游标对象

sql = 'select * from user' #sql语句

cursor.execute(sql.encode('utf-8')) #使用execute()方法,执行SQL语句

data = cursor.fetchall() #cursor.fetchall()一次性获取所有数据 cursor.fetchone()一次性获取一个数据

for x in data:

print(x)

conn.close() #关闭数据库,释放资源

return data

#print(from_mysql_get_all_info())

从数据库中提取的资料写入一个csv文件中并保存在本地

文件操作的基础模式有三种(默认的操作模式为r模式):

r模式为read

w模式为write

a模式为append

文件读写内容的格式有两种(默认的读写内容的模式为b模式):

t模式为text

b模式为bytes

需要注意的是:t、b这两种模式均不能单独使用,都需要与r/w/a之一连用。

defwrite_csv():

data=from_mysql_get_all_info()

filename= 'corpus.csv' #文件名和路径

with open(filename, mode='w', encoding='utf-8') as f:

write= csv.writer(f, dialect='excel')for item indata:

write.writerow(item)

write_csv()

结果:在代码保存的文件夹中生成corpus.csv文件。里面包含数据库中的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值