1. 程式人生 > 其它 >拆分表比較笨的辦法,自寫的,保留一下

拆分表比較笨的辦法,自寫的,保留一下

import pymysql,xlwt

FI = pymysql.connect(
host='192.168.1.10',user='root',passwd='zentao_123',
port=3306,db='zentao',charset='utf8'
#port必須寫int型別,
#charset這裡必須寫utf8
)
cur = FI.cursor() #建立遊標
sql = '''select
case left(d.name,2) when 'DD' then '排程' when 'DW' then '電網' when 'ZN' then '智慧裝置' when 'DL' then '智慧裝置' WHEN 'HB' then '華北' when 'ZH' then'綜合能源' when 'DS' then '大資料' when 'XS' then '智慧線損' else '研發中心' end as 所屬部門,
d.name as 專案,
b.realname,
a.date,
a.consumed as 工時,
a.work
FROM zt_effort a
left join zt_user b on a.account=b.account
left join zt_dept c on b.dept=c.id
left join zt_project d on a.project=d.id
left join zt_task e on a.objectID=e.id
where c.id in (35,22,1)
and a.date >='20201226' and a.date <='20210625' and c.name='質量保障巴' and a.consumed>0
and b.realname in ('趙博','郝楠','李青雲','張紅運','劉通慧','周蕊','於萍','郝楠','趙康')
and d.name not in ('YFZX-技術研發中心公共管理工作','自動化測試指令碼開發')
ORDER BY d.name,a.date'''
cur.execute(sql)
style = xlwt.XFStyle()
style.alignment.wrap = 1 #設定自動換行
book=xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('排程')
sheet1=book.add_sheet('智慧裝置',cell_overwrite_ok=True)
font=xlwt.Font()
font.name='微軟雅黑'
font.height=22*11
sheet2=book.add_sheet('綜合能源')
sheet3=book.add_sheet('智慧線損')
sheet4=book.add_sheet('華北')
sheet5=book.add_sheet('大資料')
sheet6=book.add_sheet('研發中心')
fileds=[filed[0] for filed in cur.description]#獲取欄位表頭
res = cur.fetchall() #獲取所有返回的結果
for col, filed in enumerate(fileds):
# print(col, filed)
sheet.write(0, col, filed)
sheet1.write(0,col,filed)
sheet2.write(0,col,filed)
sheet3.write(0,col,filed)
sheet4.write(0,col,filed)
sheet5.write(0,col,filed)
sheet6.write(0,col,filed)
# book.savsheet1.write(0, col, filed)e('./user_info.xls')
dd=1
sb=1
zh=1
xs=1
hb=1
dsj=1
yf=1
for i in res:
bm=i[0]
bm=bm[0:4]
if bm=='排程':
for j in range(len(i)):
sheet.write(dd, j, i[j])
dd+=1
if bm=='智慧裝置':
for j in range(len(i)):
sheet1.write(sb,j,i[j])
import pymysql,xlwt

FI = pymysql.connect(
   host='*',user='root',passwd='*',
   port=*,db='zentao',charset='utf8'
   #port必須寫int型別,
   #charset這裡必須寫utf8
)
cur = FI.cursor() #建立遊標
sql = '''select
case left(d.name,2) when 'DD' then '排程' when 'DW' then '電網' when 'ZN' then '智慧裝置' when 'DL' then '智慧裝置' WHEN 'HB' then '華北' when 'ZH' then'綜合能源'  when 'DS' then '大資料' when 'XS' then '智慧線損' else '研發中心' end as 所屬部門,
d.name as 專案,
b.realname,
 a.date,
 a.consumed as 工時,
 a.work
FROM zt_effort a
left join zt_user b on a.account=b.account
left join zt_dept c on b.dept=c.id
left join zt_project d on a.project=d.id
left join zt_task e on a.objectID=e.id
where c.id in (35,22,1)
and a.date >='20201226' and a.date <='20210625' and c.name='*' and a.consumed>0
and b.realname  in ('*')
and d.name not in  ('*)'''
cur.execute(sql)
style = xlwt.XFStyle()
style.alignment.wrap = 1  #設定自動換行
book=xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('排程')
sheet1=book.add_sheet('智慧裝置',cell_overwrite_ok=True)
font=xlwt.Font()
font.name='微軟雅黑'
font.height=22*11
sheet2=book.add_sheet('綜合能源')
sheet3=book.add_sheet('智慧線損')
sheet4=book.add_sheet('華北')
sheet5=book.add_sheet('大資料')
sheet6=book.add_sheet('研發中心')
fileds=[filed[0] for filed in cur.description]#獲取欄位表頭
res = cur.fetchall()  #獲取所有返回的結果
for col, filed in enumerate(fileds):
    # print(col, filed)
    sheet.write(0, col, filed)
    sheet1.write(0,col,filed)
    sheet2.write(0,col,filed)
    sheet3.write(0,col,filed)
    sheet4.write(0,col,filed)
    sheet5.write(0,col,filed)
    sheet6.write(0,col,filed)
# book.savsheet1.write(0, col, filed)e('./user_info.xls')
dd=1
sb=1
zh=1
xs=1
hb=1
dsj=1
yf=1
for i in res:
    bm=i[0]
    bm=bm[0:4]
    if bm=='排程':
        for j in range(len(i)):
            sheet.write(dd, j, i[j])
        dd+=1
    if bm=='智慧裝置':
        for j in range(len(i)):
            sheet1.write(sb,j,i[j])
        sb+=1
    if bm=='綜合能源':
        for j in range(len(i)):
            sheet2.write(zh,j,i[j])
        zh+=1
    if bm=='智慧線損':
        for j in range(len(i)):
            sheet3.write(xs,j,i[j])
        xs+=1
    if bm=='華北':
        for j in range(len(i)):
            sheet4.write(hb,j,i[j])
        hb+=1
    if bm=='大資料':
        for j in range(len(i)):
            sheet5.write(dsj,j,i[j])
        dsj+=1
    if bm=='研發中心':
        for j in range(len(i)):
            sheet6.write(yf,j,i[j])
        yf+=1
        print(i[j])
book.save(r'C:\Users\zr\Desktop\12.xls')

  


sb+=1
if bm=='綜合能源':
for j in range(len(i)):
sheet2.write(zh,j,i[j])
zh+=1
if bm=='智慧線損':
for j in range(len(i)):
sheet3.write(xs,j,i[j])
xs+=1
if bm=='華北':
for j in range(len(i)):
sheet4.write(hb,j,i[j])
hb+=1
if bm=='大資料':
for j in range(len(i)):
sheet5.write(dsj,j,i[j])
dsj+=1
if bm=='研發中心':
for j in range(len(i)):
sheet6.write(yf,j,i[j])
yf+=1
print(i[j])
book.save(r'C:\Users\zr\Desktop\12.xls')