[python]操作excel

每次搞考勤都要弄很久很久跷跪,一直想著搞一個(gè)代碼出來(lái),一直拖一直拖一直拖齐板,直到這次忍不了了吵瞻,結(jié)果用的時(shí)間都可以搞兩次考勤了,而且因?yàn)槭謿堖€把代碼搞沒(méi)了覆积,重寫(xiě)了一次==

都是淚听皿,所以一定要記下來(lái)

python操作excel用到了3個(gè)包熟呛,讀數(shù)據(jù)(只能讀不能寫(xiě))import xlrd宽档,寫(xiě)數(shù)據(jù)(只能寫(xiě)入一個(gè)新的文件不能讀)import xlwt,因?yàn)樾枰x寫(xiě)同一個(gè)文件庵朝,所以參考了網(wǎng)上的方法吗冤,用到了from xlutils.copy import copy,通過(guò)只讀的方式打開(kāi)九府,然后用copy方法操作椎瘟,這里是原文的鏈接

小程序還用到了:修改單元格背景色侄旬,識(shí)別單元格背景色肺蔚,合并單元格幾個(gè)操作

0、excel之外儡羔,還學(xué)了一招宣羊,在命令行輸出中文:

print(repr(['遲到的夾心餅干']).decode('string-escape'))

1璧诵、讀寫(xiě)同一個(gè)表格的曲線(xiàn)救國(guó)方法:

rb = xlrd.open_workbook(filename) ?#打開(kāi)file

table = rb.sheet_by_index(0) # xlrd中的方法

value = table.cell(1,2).value.encode('utf-8') #讀取文件內(nèi)容,有中文時(shí)用utf-8編碼

wb = copy(rb) # 用到xlutils的copy

#通過(guò)get_sheet()獲取的sheet有write()方法

ws = wb.get_sheet(0)? #1代表是寫(xiě)到第幾個(gè)工作表里仇冯,從0開(kāi)始算是第一個(gè)之宿。

ws.write(x, y, 'changed!') #寫(xiě)入同一個(gè)文件

wb.save(filename) #保存相當(dāng)于關(guān)文件

我試過(guò)用xlrd和xlwt同時(shí)打開(kāi)一個(gè)文件,結(jié)果是悲劇的苛坚,write會(huì)覆蓋源文件的所有比被,就好像是在源文件上貼了一張白紙==

2、修改單元格背景色:

通過(guò)寫(xiě)入時(shí)設(shè)置樣式來(lái)改變單元格背景色泼舱,很奇特的是excel的顏色是數(shù)字表示的等缀,不是RGB,是單純的數(shù)字柠掂,也是用的網(wǎng)上的例子项滑,原文在這里

file=xlwt.Workbook() #xlwt新建文件的方法

table=file.add_sheet('sheet name',cell_overwrite_ok=True) #這個(gè)True要打開(kāi)涯贞,沒(méi)試過(guò)不打開(kāi)啥樣

for i in range(0,256):

stylei= xlwt.XFStyle()? ? ? ? ? ? #初始化樣式

patterni= xlwt.Pattern()? ? ? ? ? #為樣式創(chuàng)建圖案

patterni.pattern=1? ? ? ? ? ? ? ? #設(shè)置底紋的圖案索引枪狂,1為實(shí)心,2為50%灰色宋渔,對(duì)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 應(yīng)為excel文件單元格格式中填充中的圖案樣式

patterni.pattern_fore_colour=i? ? #設(shè)置底紋的前景色州疾,對(duì)應(yīng)為excel文件單元格格式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 中填充中的背景色

#patterni.pattern_back_colour=35? #設(shè)置底紋的背景色,對(duì)應(yīng)為excel文件單元格格式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 中填充中的圖案顏色

stylei.pattern=patterni? ? ? ? ? #為樣式設(shè)置圖案

table.write(i,0,i,stylei)? ? ? ? #使用樣式

file.save('colour.xls')

這一小段代碼就把顏色和對(duì)應(yīng)的數(shù)字給找出來(lái)了皇拣,贊严蓖。

3、識(shí)別單元格背景顏色

也是用的網(wǎng)上的例子氧急,網(wǎng)絡(luò)真是個(gè)好東西^_^颗胡,原文在這里?。

book = xlrd.open_workbook("colour.xls", formatting_info=1) #這個(gè)formatting要打開(kāi)吩坝,不然操作過(guò)后之前設(shè)置的顏色就全沒(méi)了毒姨,別問(wèn)我為什么知道

sheet = book.sheet_by_index(0)

xfx = sheet.cell_xf_index(row, col)

xf = book.xf_list[xfx]?

bgx = xf.background.pattern_colour_index # 這一步取出來(lái)的bgx就是表示背景顏色的數(shù)字

4、合并單元格

這個(gè)最簡(jiǎn)單了

sheet.write_merge(row_begin,row_end,col_begin,col_end,value)

#這個(gè)參數(shù)是我試出來(lái)的==钉寝,因?yàn)榫W(wǎng)上的代碼沒(méi)有注釋?zhuān)囃炅讼肫饋?lái)好像可以去找官方文檔讀一讀弧呐。。嵌纲。

全部代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末俘枫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子逮走,更是在濱河造成了極大的恐慌鸠蚪,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異茅信,居然都是意外死亡酣栈,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)汹押,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)矿筝,“玉大人,你說(shuō)我怎么就攤上這事棚贾〗盐” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵妙痹,是天一觀的道長(zhǎng)铸史。 經(jīng)常有香客問(wèn)我,道長(zhǎng)怯伊,這世上最難降的妖魔是什么琳轿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮耿芹,結(jié)果婚禮上崭篡,老公的妹妹穿的比我還像新娘。我一直安慰自己吧秕,他們只是感情好琉闪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著砸彬,像睡著了一般颠毙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上砂碉,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天蛀蜜,我揣著相機(jī)與錄音,去河邊找鬼增蹭。 笑死滴某,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沪铭。 我是一名探鬼主播壮池,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼偏瓤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼杀怠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起厅克,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤赔退,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體硕旗,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窗骑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漆枚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片创译。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖墙基,靈堂內(nèi)的尸體忽然破棺而出软族,到底是詐尸還是另有隱情,我是刑警寧澤残制,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布立砸,位于F島的核電站,受9級(jí)特大地震影響初茶,放射性物質(zhì)發(fā)生泄漏颗祝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一恼布、第九天 我趴在偏房一處隱蔽的房頂上張望螺戳。 院中可真熱鬧,春花似錦折汞、人聲如沸温峭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凤藏。三九已至,卻和暖如春堕伪,著一層夾襖步出監(jiān)牢的瞬間揖庄,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工欠雌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蹄梢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓富俄,卻偏偏與公主長(zhǎng)得像禁炒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子霍比,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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