xlsxWriter重構(gòu)Excel表格

Excel表格是微軟開發(fā)的格式,在Linux上操作比較復(fù)雜
python操作xlsx文件常用的包有三個:

  • xlrd:xlsx reader七芭,只能讀數(shù)據(jù)
  • xlwt::xlsx writer,只能從前往后按順序?qū)憯?shù)據(jù)
  • xlsxWriter:可以寫數(shù)據(jù)和樣式

此外還有結(jié)合了xlrdxlwtxlutils
這里記錄xlsxWriter
官方文檔


新建項目

導(dǎo)入時注意全小寫:

import xlsxwriter

打開和關(guān)閉:xlwt在最后調(diào)用.save(fp)方法時傳入保存路徑寸宏,而xlsxWriter在新建項目(Workbook)時就指明輸出文件路徑擂红,最后使用.close()關(guān)閉:

wb = xlsxwriter.Workbook(fp)
...
wb.close()

新建工作表(Worksheet):

ws = wb.add_worksheet('工作表的名字')

常用操作


設(shè)置單元格樣式

先定義好表格樣式,進(jìn)行整體布局
使用 format0 = wb.add_format({...}) 添加樣式

字體大小咸作、顏色、加粗

'font_size': 15 # 注意單位是磅
'color': 'red' # 字體顏色
'bold': True # 是否加粗

水平宵睦、垂直方向文本對齊

'align': 'center' # 水平方向居中记罚,默認(rèn)左對齊
'valign': 'vcenter' # 垂直方向居中

列寬和行高

一列/一行所有單元格的列寬/行高是相同的,因此列寬/行高應(yīng)該以列/行為單位進(jìn)行設(shè)置

列設(shè)置

ws.set_column(self, firstcol, lastcol, width=None, cell_format=None, options={}) # 這里列寬單位我還沒弄明白壳嚎?桐智?

行設(shè)置

ws.set_row(self, row, height=None, cell_format=None, options={}) # 這里的單位是磅

往單元格里寫值

寫入普通字符串write_string(self, row, col, string, cell_format=None)

寫入日期write_datetime(self, row, col, date, cell_format=None)

date是一個datetime.datetime對象

  • datetime.datetime對象可以通過datetime.datetime(int_year, int_month, int_day)創(chuàng)建
  • xlrd.xldate_as_tuple(float_number)可以將浮點數(shù)解析成y元組(Y, M, D, h, m, s)

cell_format應(yīng)該指出日期的字符串顯示末早,畢竟datetime.datetime對象不可能被打印在屏幕上~

cell_format = wb.add_format({ELSE_FORMAT, 'num_format': 'yyyy-mm-dd'})

寫入其他類型

write_number(self, row, col, number, cell_format=None)

write_blank(self, row, col, blank, cell_format=None) # `blank`不管賦什么值都會被忽略

write_formula(self, row, col, formula, cell_format=None, value=0)

write_array_formula(self, first_row, first_col, last_row, last_col, formula, cell_format=None, value=0)

write_boolean(self, row, col, boolean, cell_format=None)

write_url(self, row, col, url, cell_format=None, string=None, tip=None)

合并單元格

merge_range(self, first_row, first_col, last_row, last_col, data, cell_format=None)

其他

數(shù)據(jù)有效性

列表驗證

ws.data_validation(self, first_row, first_col, last_row, last_col, {'validate': 'list', 'source': LIST_SELECT})

合并字典奇淫

c = dict(a, **b)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市说庭,隨后出現(xiàn)的幾起案子然磷,更是在濱河造成了極大的恐慌,老刑警劉巖刊驴,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姿搜,死亡現(xiàn)場離奇詭異,居然都是意外死亡捆憎,警方通過查閱死者的電腦和手機舅柜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躲惰,“玉大人致份,你說我怎么就攤上這事〈〔Γ” “怎么了氮块?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長太伊。 經(jīng)常有香客問我雇锡,道長逛钻,這世上最難降的妖魔是什么僚焦? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮曙痘,結(jié)果婚禮上芳悲,老公的妹妹穿的比我還像新娘。我一直安慰自己边坤,他們只是感情好名扛,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著茧痒,像睡著了一般肮韧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旺订,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天弄企,我揣著相機與錄音,去河邊找鬼区拳。 笑死拘领,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的樱调。 我是一名探鬼主播约素,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼届良,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了圣猎?” 一聲冷哼從身側(cè)響起士葫,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎样漆,沒想到半個月后为障,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡放祟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年鳍怨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跪妥。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡鞋喇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出眉撵,到底是詐尸還是另有隱情侦香,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布纽疟,位于F島的核電站罐韩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏污朽。R本人自食惡果不足惜散吵,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蟆肆。 院中可真熱鬧矾睦,春花似錦、人聲如沸炎功。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛇损。三九已至赁温,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淤齐,已是汗流浹背股囊。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留床玻,地道東北人毁涉。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像锈死,于是被迫代替她去往敵國和親贫堰。 傳聞我的和親對象是個殘疾皇子穆壕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

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

  • 本例為設(shè)置密碼窗口 (1) If Application.InputBox(“請輸入密碼:”) = 1234 Th...
    浮浮塵塵閱讀 13,665評論 1 20
  • 小朋友最愛玩游戲,尤其2歲開始其屏,游戲不再僅僅是游戲喇勋,更是她們探索與學(xué)習(xí)的有效方式。男孩最愛車偎行,而我家女孩最愛過家家...
    Jane家的貓閱讀 254評論 0 0
  • 我小姑比父親小十歲川背,我記事起,小姑早已成家蛤袒,有了兒子和女兒熄云。每年過春節(jié)或暑假,都會聚在一起妙真,大人們家長里短嘮嗑缴允,我...
    玉妮閱讀 1,691評論 3 7
  • 小伙伴們,即時發(fā)布再多的美國appstore的公用賬號珍德,還是無法保證它一直是可以使用的练般。 因此,自己擁有一個臺灣或...
    Levan_li閱讀 151,013評論 4 2
  • 今天下午锈候,陽光明媚薄料,經(jīng)過南山文化中心旁邊的廣場,心里想著今天寫什么呢? 抬頭一看泵琳,原來種著很多蔬菜的地還是只長著稀...
    悠悠心旅閱讀 549評論 0 0