03 自動(dòng)生成統(tǒng)計(jì)報(bào)表

文章引用自網(wǎng)易云課堂《用Python自動(dòng)辦公,做職場(chǎng)高手》
網(wǎng)址:https://study.163.com/course/introduction/1006277004.htm
測(cè)試文件1:https://share.weiyun.com/5bFo3Sk
測(cè)試文件2:https://share.weiyun.com/5NRq0zM

一贮竟、統(tǒng)計(jì)報(bào)表格式

統(tǒng)計(jì)表_模板.jpg
import xlrd
import xlwt
from xlutils.copy import copy

xlsx = xlrd.open_workbook('d:/auto_office/excel/7月下旬入庫(kù)表.xlsx')
table = xlsx.sheet_by_index(0)

all_data = []    # 創(chuàng)建一個(gè)列表,用來(lái)存儲(chǔ)工作簿中每一行的數(shù)據(jù)
for n in range(1, table.nrows):    # 用for循環(huán)贤徒,使n的值從1到10,步長(zhǎng)為1.   table.nrows為讀取整個(gè)列表的行數(shù)
    company = table.cell(n, 1).value    # 讀取第n行的銷售商名稱
    price = table.cell(n, 3).value    # 讀取第n行的單價(jià)
    weight = table.cell(n, 4).value    # 讀取第n行的重量
    data = {'company':company, 'weight':weight, 'price':price}    # 構(gòu)建成'銷售商|入庫(kù)量|單價(jià)'的結(jié)構(gòu)
    all_data.append(data)    # 添加到上面創(chuàng)建的列表里

a_weight = []    # 創(chuàng)建一個(gè)列表杂腰,用于儲(chǔ)存'張三糧配'的噸數(shù)虐骑,不是直接累加,而是單個(gè)存儲(chǔ)
a_total_price = []    # 創(chuàng)建一個(gè)列表扔水,用于儲(chǔ)存'張三糧配'的每一次入庫(kù)總價(jià),不是直接累加朝氓,而是單個(gè)存儲(chǔ)
b_weight = []    # 創(chuàng)建一個(gè)列表魔市,用于儲(chǔ)存'李四糧食'的噸數(shù)
b_total_price = []    # 創(chuàng)建一個(gè)列表,用于儲(chǔ)存'李四糧食'的每一次入庫(kù)總價(jià)
c_weight = []    # 創(chuàng)建一個(gè)列表赵哲,用于儲(chǔ)存'王五小麥'的噸數(shù)
c_total_price = []    # 創(chuàng)建一個(gè)列表待德,用于儲(chǔ)存'王五小麥'的每一次入庫(kù)總價(jià)
d_weight = []    # 創(chuàng)建一個(gè)列表,用于儲(chǔ)存'趙六麥子專營(yíng)'的噸數(shù)
d_total_price = []    # 創(chuàng)建一個(gè)列表枫夺,用于儲(chǔ)存'趙六麥子專營(yíng)'的每一次入庫(kù)總價(jià)

for i in all_data:    # 用for循環(huán)歷遍all_data中的所有條目
    if i['company'] == '張三糧配':    # 如果條目中的公司為'張三糧配'
        a_weight.append(i['weight'])    # 儲(chǔ)存'張三糧配'的噸數(shù)将宪,不是直接累加,而是單個(gè)存儲(chǔ)
        a_total_price.append((i['weight'] * i['price']))    # 儲(chǔ)存'張三糧配'的每一次入庫(kù)總價(jià)橡庞,不是直接累加较坛,而是單個(gè)存儲(chǔ)
    if i['company'] == '李四糧食':
        b_weight.append(i['weight'])
        b_total_price.append((i['weight'] * i['price']))
    if i['company'] == '王五小麥':
        c_weight.append(i['weight'])
        c_total_price.append((i['weight'] * i['price']))
    if i['company'] == '趙六麥子專營(yíng)':
        d_weight.append(i['weight'])
        d_total_price.append((i['weight'] * i['price']))

tem_excel = xlrd.open_workbook('d:/auto_office/excel/統(tǒng)計(jì)表_模板.xls', formatting_info=True)    # 帶著格式打開(kāi)'日統(tǒng)計(jì)表.xls'
tem_sheet = tem_excel.sheet_by_index(0)    # 通過(guò)索引讀取工作表1

new_excel = copy(tem_excel)    # 復(fù)制tem_excel模板
new_sheet = new_excel.get_sheet(0)    # 獲取新new_excel的工作表1

style = xlwt.XFStyle()    # 初始化一個(gè)樣式,style

font = xlwt.Font()    # 初始化一個(gè)字體
font.name = '微軟雅黑'    # 選擇'微軟雅黑'字體
font.bold = True    # 加粗,不加粗寫(xiě)False
font.height = 360    # 設(shè)置字體大小扒最,18號(hào) * 系數(shù)20 = 360
style.font = font    # style的字體樣式為上面的font

borders = xlwt.Borders()    # 初始化單元格的表框
borders.top = xlwt.Borders.THIN    # 添加細(xì)線上邊丑勤,THIN表示細(xì)線
borders.bottom = xlwt.Borders.THIN    # 添加下邊
borders.left = xlwt.Borders.THIN    # 添加細(xì)線左邊
borders.right = xlwt.Borders.THIN    # 添加細(xì)線右邊
style.borders = borders    # style的邊框樣式為上面的borders

alignment = xlwt.Alignment()    # 初始化對(duì)齊
alignment.horz = xlwt.Alignment.HORZ_CENTER    # 水平居中
alignment.vert = xlwt.Alignment.VERT_CENTER    # 垂直居中
style.alignment = alignment    # style的對(duì)齊方式為上面的alignment

new_sheet.write(2, 1, len(a_weight), style)    # len()可以統(tǒng)計(jì)a_weight列表的條目數(shù),即統(tǒng)計(jì)共有多少車
new_sheet.write(2, 2, round(sum(a_weight), 2), style)    # sum()對(duì)a_weight的數(shù)據(jù)進(jìn)行求和吧趣,即計(jì)算總噸數(shù)确封,round()保留兩位小數(shù)
new_sheet.write(2, 3, round(sum(a_total_price), 2), style)
new_sheet.write(3, 1, len(b_weight), style)
new_sheet.write(3, 2, round(sum(b_weight), 2), style)
new_sheet.write(3, 3, round(sum(b_total_price), 2), style)
new_sheet.write(4, 1, len(c_weight), style)
new_sheet.write(4, 2, round(sum(c_weight), 2), style)
new_sheet.write(4, 3, round(sum(c_total_price), 2), style)
new_sheet.write(5, 1, len(d_weight), style)
new_sheet.write(5, 2, round(sum(d_weight), 2), style)
new_sheet.write(5, 3, round(sum(d_total_price), 2), style)

new_excel.save('d:/auto_office/excel/日統(tǒng)計(jì)(填寫(xiě)).xls')

二、結(jié)果

日統(tǒng)計(jì)(填寫(xiě)).jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末再菊,一起剝皮案震驚了整個(gè)濱河市爪喘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纠拔,老刑警劉巖秉剑,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稠诲,居然都是意外死亡侦鹏,警方通過(guò)查閱死者的電腦和手機(jī)诡曙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)略水,“玉大人价卤,你說(shuō)我怎么就攤上這事≡ɡ裕” “怎么了慎璧?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)跨释。 經(jīng)常有香客問(wèn)我胸私,道長(zhǎng),這世上最難降的妖魔是什么鳖谈? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任岁疼,我火速辦了婚禮,結(jié)果婚禮上缆娃,老公的妹妹穿的比我還像新娘捷绒。我一直安慰自己,他們只是感情好贯要,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布暖侨。 她就那樣靜靜地躺著,像睡著了一般郭毕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上函荣,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天显押,我揣著相機(jī)與錄音,去河邊找鬼傻挂。 笑死乘碑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的金拒。 我是一名探鬼主播兽肤,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼绪抛!你這毒婦竟也來(lái)了资铡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤幢码,失蹤者是張志新(化名)和其女友劉穎笤休,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體症副,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡店雅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年政基,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闹啦。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沮明,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出窍奋,到底是詐尸還是另有隱情荐健,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布费变,位于F島的核電站摧扇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏挚歧。R本人自食惡果不足惜扛稽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滑负。 院中可真熱鬧在张,春花似錦、人聲如沸矮慕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)痴鳄。三九已至瘟斜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痪寻,已是汗流浹背螺句。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橡类,地道東北人蛇尚。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像顾画,于是被迫代替她去往敵國(guó)和親取劫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1-------- 走進(jìn)前端 2-------- jQuery 3-------- CSS 4-------- A...
    依依玖玥閱讀 2,319評(píng)論 0 34
  • 前端知識(shí)結(jié)構(gòu)https://github.com/JacksonTian/fks Web前端開(kāi)發(fā)大系概覽https...
    柴東啊閱讀 983評(píng)論 0 10
  • (二)臭味熏一晚上 紅塵的緣份是來(lái)報(bào)答伍佰年前的恩人,無(wú)知無(wú)覺(jué)地走入了一場(chǎng)為人作嫁衣的婚姻庶诡,總是在不經(jīng)意間地虾标,投入...
    簡(jiǎn)賞閱讀 397評(píng)論 0 8
  • 在我的印象里,清明就是上墳的日子。長(zhǎng)大后才知道上墳也叫祭祖掃墓璧函。清明也是二十四節(jié)氣之一傀蚌。 我的家鄉(xiāng)有個(gè)不成文的習(xí)俗...
    青馨語(yǔ)閱讀 1,394評(píng)論 24 50
  • 曾與三五好友討論過(guò)下輩子變作什么,有人說(shuō)蘸吓,變一頭豬吃了睡睡了吃無(wú)憂無(wú)慮善炫。母親大人跟我說(shuō)這個(gè)問(wèn)題,言之鑿鑿地告誡我库继,...
    愛(ài)佛僧閱讀 12,394評(píng)論 91 212