#/usr/bin/python3
import pymysql,time,datetime,xlwt,xlrd
def myconn(_host,_port,_user,_passwd,_db):
try:
if _host == '':
_host = 'IP'
if _user == '':
_user = 'test'
if _passwd == '':
_passwd = 'test'
if _port == '':
_port = 3306
if _db == '':
_db = 'mysql'
return pymysql.connect(host=_host,user=_user,passwd=_passwd,port=int(_port),db=_db,charset='utf8',connect_timeout=5)
except pymysql.err.OperationalError as e:
return 'connection failed '
def writexls(dtime):
sql1 = ''' '''
sql2=''' '''
cursor = myconn('IP', PORT, 'USER', 'PASSWD', 'DB').cursor() #db连接
sheets = {'sheet1': sql1,'sheet2':sql2}
for xname,sql in sheets.items():
print(xname,sql)
sheet = workbook.add_sheet(sheetname=xname, cell_overwrite_ok=True)
count = cursor.execute(sql)
cursor.scroll(0, mode='absolute')
result = cursor.fetchall()
fields = cursor.description
for field in range(0, len(fields)):
sheet.write(0, field, fields[field][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])
cursor.close()
if __name__ == '__main__':
today = datetime.datetime.today()
dt = datetime.datetime(today.year, today.month, 1) + datetime.timedelta(days=-20)
dtime = time.strftime('%Y%m', time.localtime(dt.timestamp()))
# 文件定义
out_path = "../../xls/test{}.xls".format(dtime)
workbook = xlwt.Workbook()
writexls(dtime)
workbook.save(out_path)