一、安装setuptools:
可以先打开setuptools的python官网看看setuptools软件包如何安装:
1
|
> wget https: / / bitbucket.org / pypa / setuptools / raw / bootstrap / ez_setup.py > python ez_setup.py - - user |
也可以下载setuptools软件包后安装:
(1)下载setuptools包
1
|
# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz |
(2)解压setuptools包
1
|
#tar zxvf setuptools-2.0.tar.gz |
(3)切换到当前文件夹
1
|
#cd setuptools-2.0 |
(4)编译setuptools
1
|
#python setup.py build |
(5)开始执行setuptools安装
1
|
#python setup.py install |
参考:
1
|
from :http: / / www.jb51.net / article / 101444.htm |
二、 安装xlrd、xlwt、xlutils
xlrd:是python从excel读数据的第三方控件;
xlwt:是python从excel写数据的第三方控件;
xlutils:是python使用xlrd、xlwt的工具箱。若安装不成功,可能原因是需要安装setuptools。
第一种方法():
1
2
3
4
5
|
[root@vm4 python] # pip install xlrd [root@vm4 python] # pip install xlwt [root@vm4 python] # pip install xlutils |
第二种方法:(我用这个种方法)
1、下载文件xlrd-0.9.3.tar.gz,xlwt-0.7.5.tar.gz,xlutils-1.7.1.tar.gz并上传至python
2、解压安装xlrd
1
2
3
|
[root@vm4 python] # tar -zxvf xlrd-0.9.3.tar.gz [root@vm4 python] # cd xlrd-0.9.3 [root@vm4 xlrd - 0.9 . 3 ] # python setup.py install |
3、解压安装xlwt
1
2
3
|
[root@vm4 python] # tar -zxvf xlwt-0.7.5.tar.gz [root@vm4 python] # cd xlwt-0.7.5 [root@vm4 xlwt - 0.7 . 5 ] # python setup.py install |
4、解压安装xlutils
1
2
3
|
[root@vm4 python] # tar -zxvf xlutils-1.7.1.tar.gz [root@vm4 python] # cd xlutils-1.7.1 [root@vm4 xlutils - 1.7 . 1 ] # python setup.py install |
1.1 实战例子
# -*- coding: utf-8 -*-
__author__ = 'ShengLeQi'
import xlwt
import pymysql
import sys,os
import datetime
def mysql_m(): #mysql数据连接部分
# 打开数据库连接
db = pymysql.connect("10.0.0.101","sheng","123456","Sheng_DB" ,charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM student "
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
# print(results)
# print(len(results[0]))
return results
except:
print("Error: unable to fetch data")
def set_style(name,height,bold=False): #字体设置
"""
设置单元格样式
:param name: 字体名字
:param height: 字体大小
:param bold: 是否加粗
:return: 返回样式
"""
style = xlwt.XFStyle()
font = xlwt.Font()
font.name = name
font.bold = bold
font.color_index = 4
font.height = height
style.font = font
return style
def write_excel(): #写入xls部分
"""
写表格
:return:
"""
f = xlwt.Workbook() # 创建工作簿
sheet1 = f.add_sheet('students',cell_overwrite_ok=True) ##第二参数用于确认同一个cell单元是否可以重设值。
row0 = ['id','性别','班级编号','姓名']
# 生成第一行
for i in range(len(row0)):
sheet1.write(0,i,row0[i],set_style('宋体',200,True)) # 200对应的是10号字体,如果设置太小,可能看上去像空Excel,实际上是有内容的
results=mysql_m()
for count,row in enumerate(results):
for i in range(len(row)):
sheet1.write(count+1,i,row[i],set_style('宋体',200,True))
f.save('test1.xls')
now_time = datetime.datetime.now()
yes_time = now_time + datetime.timedelta(days=-1)
yes_time = (yes_time.strftime('%Y%m%d'))
if os.path.exists(yes_time) is not True:
os.makedirs(yes_time)
path=os.path.join(os.getcwd(),yes_time,'test_time.xls')
f.save(path)
if __name__ == '__main__':
write_excel()