之前开发过一个小型的web网站,主要是后端接口实现对数据库的访问,并且对获取到的数据通过pandas做数据分析,所以涉及到如何从数据库获取数据并转化为csv的格式,实现的代码如下所示:
from datetime import datetime
import pandas as pd
import pymysql
# 连接数据库
con = pymysql.connect(host='106.15.181.122', user='bio', passwd='123456', db='db_sample_info_test', port=3306,
charset='utf8')
cur = con.cursor()
# 执行sql语句
cur.execute('select * from gene_all_loci_uni_v3 limit 5')
# 获取数据
data = cur.fetchall()
# 获取数据列名
fields = cur.description
# 将sql语句转化为dataframe的格式
frame = pd.DataFrame(list(data))
# 转化数据列名的格式
col_name = []
for field in fields:
col_name.append(field[0])
print(col_name)
# 为dataframe重新定义新的列名
frame.columns = col_name
print(frame)
# 导出数据
frame.to_csv('test1.csv')
# 获取此时的时间
time = str(datetime.now())
print(time)
# 提交,关闭
con.commit()
cur.close()
con.close()