环境:python3.6
工具:pycharm
代码内容:
- 连接mysql
- 创建表
- 插入数据
- 读取数据
- 插入excel
准备工作:pycharm 安装 pymysq
参考:https://www.cnblogs.com/hank-chen/p/6624299.html
操作流程:
- 文件 —>设置 —>project interpreter —>右侧加号 —>搜索pymysql (下方install安装)
- xlwt包没导入,鼠标移入会出现红色灯泡,点一下 第一个是install
import pymysql.cursors
import xlwt;
# 连接数据库
connect = pymysql.Connect(
host='localhost',
port=3306,
user='root',
passwd='root',
db='fhone',
charset='utf8'
)
# 建立游标
cursor=connect.cursor()
# 创建库
cursor.execute("create table postalTest(id int(11) AUTO_INCREMENT,country varchar(220),address varchar(220),postcode varchar(220),parentcode varchar(220),createTime timestamp,PRIMARY KEY (`id`))")
# 插入数据
sql="insert into postalTest(country,address,postcode,parentcode,createTime) values(%s,%s,%s,%s,%s)"
cursor.executemany(sql,[
('china','北京市西城区','100000','北京','2018-05-17 16:19:46'),
('china','北京市昌平区沙河镇','102206','北京','2018-05-17 16:19:46'),
('china','北京市通州区','101100','北京','2018-05-17 16:19:46')
])
# 用游标 查询数据
sql = "SELECT * FROM postalTest WHERE id > %s limit 10"
# 用于传递条件参数
data = (0)
# 返回count数
count=cursor.execute(sql % data)
# 得到结果
result=cursor.fetchall()
print('共查找出', count, '条数据')
# 得到字段
fields=cursor.description
# 创建workbook
# 创建sheet
file=xlwt.Workbook(encoding='UTF-8',style_compression=0)
sheet=file.add_sheet('data')
# 遍历字段信息,写入第1行
for field in range(0,len(fields)):
sheet.write(0,field,fields[field][0])
print(field,"_____字段:",fields[field][0])
# 获取并写入数据信息,从第2行开始写
row=1
col=0
for row in range(1,len(result)+1):
for col in range(0,len(fields)):
sheet.write(row,col,u'%s'%result[row-1][col])
# 写入xls
file.save('C:\\Users\\A\\Desktop\\everyDay\\0425.xls')
# 关闭游标
cursor.close()
# 提交事务
connect.commit()
# 关闭数据库链接
connect.close()
导出结果:
mysql中的数据