python 3 讀寫(xiě)excel表格

前些天有個(gè)程序員就是利用python?技術(shù)改化,給醫(yī)護(hù)人員把疫情使用的數(shù)據(jù)導(dǎo)到表格里,方便使用枉昏。用了一個(gè)小時(shí)陈肛。其實(shí)不是很麻煩,這些東西網(wǎng)上有各種示例兄裂。只需要改一改數(shù)據(jù)源句旱,表格的模板。把數(shù)據(jù)填充進(jìn)去即可晰奖。

下面就說(shuō)說(shuō)用python?這個(gè)語(yǔ)言來(lái)簡(jiǎn)單的讀取表格數(shù)據(jù)谈撒。比其他語(yǔ)言簡(jiǎn)單的多了。但還是要有語(yǔ)言的基礎(chǔ)匾南,這里的語(yǔ)言不是說(shuō)漢語(yǔ)啃匿、英語(yǔ),廣東話蛆楞。是編程語(yǔ)言溯乒。

python讀取Excel表格文件,例如獲取這個(gè)文件的數(shù)據(jù)

python讀取Excel表格文件豹爹,需要如下步驟:

1裆悄、安裝Excel讀取數(shù)據(jù)的庫(kù)-----xlrd

? ? ? 直接pip install xlrd安裝xlrd庫(kù)

? ? ?#引入Excel庫(kù)的 xlrd

? ? ?import xlrd

2、獲取Excel文件的位置并且讀取進(jìn)來(lái)

? ? ? 入需要讀取Excel表格的路徑

? ? ? data = xlrd.open_workbook('F:\python\test.xls')

? ? ? table =data.sheets()[0]

3臂聋、讀取指定的行和列的內(nèi)容光稼,并將內(nèi)容存儲(chǔ)在列表中(將第三列的時(shí)間格式轉(zhuǎn)換)

#創(chuàng)建一個(gè)空列表,存儲(chǔ)Excel的數(shù)據(jù)

tables =[]

#將excel表格內(nèi)容導(dǎo)入到tables列表中

def import_excel(excel):

??for rown inrange(excel.nrows):

???array ={'road_name':'','bus_plate':'','timeline':'','road_type':'','site':''}

???array['road_name'] =table.cell_value(rown,0)

???array['bus_plate'] =table.cell_value(rown,1)

???#將Excel表格中的時(shí)間格式轉(zhuǎn)化

???if table.cell(rown,2).ctype ==3:

?????date =xldate_as_tuple(table.cell(rown,2).value,0)

?????array['timeline'] =datetime.datetime(*date)

???array['road_type'] =table.cell_value(rown,3)

???array['site'] =table.cell_value(rown,4)

???tables.append(array)

4孩等、運(yùn)行程序

if__name__ =='__main__':

??#將excel表格的內(nèi)容導(dǎo)入到列表中

??import_excel(table)

??#驗(yàn)證Excel文件存儲(chǔ)到列表中的數(shù)據(jù)

??fori intables:

????print(i)

6钟哥、完整的程序代碼:

import xlrd

from xlrd import xldate_as_tuple

import datetime

#導(dǎo)入需要讀取的第一個(gè)Excel表格的路徑

data1 = xlrd.open_workbook('F:\python\test.xls')

table = data1.sheets()[0]

#創(chuàng)建一個(gè)空列表,存儲(chǔ)Excel的數(shù)據(jù)

tables = []

#將excel表格內(nèi)容導(dǎo)入到tables列表中

def import_excel(excel):

? for rown in range(excel.nrows):

? array = {'road_name':'','bus_plate':'','timeline':'','road_type':'','site':''}

? array['road_name'] = table.cell_value(rown,0)

? array['bus_plate'] = table.cell_value(rown,1)

? if table.cell(rown,2).ctype == 3:

? ? date = xldate_as_tuple(table.cell(rown,2).value,0)

? ? array['timeline'] = datetime.datetime(*date)

? array['road_type'] = table.cell_value(rown,3)

? array['site'] = table.cell_value(rown,4)

? tables.append(array)

if __name__ == '__main__':

? #將excel表格的內(nèi)容導(dǎo)入到列表中

? import_excel(table)

? for i in tables:

? ? print(i)

上邊的代碼是說(shuō)怎么把數(shù)據(jù)從表格文件里讀出來(lái)瞎访,再說(shuō)說(shuō)再么寫(xiě)excel文件 。

費(fèi)話不多說(shuō)吁恍,上代碼扒秸。


#coding=utf-8

importxlwt

#設(shè)置表格樣式

defset_stlye(name,height,bold=False):

?#初始化樣式

?style =xlwt.XFStyle()

?#創(chuàng)建字體

?font =xlwt.Font()

?font.bold =bold

?font.colour_index =4

?font.height =height

?font.name =name

?style.font =font

?returnstyle

#寫(xiě)入數(shù)據(jù)

defwrite_excel():

?f =xlwt.Workbook()

?#創(chuàng)建sheet1

?sheet1 =f.add_sheet(u'sheet1',cell_overwrite_ok=True)

?row0 =[u'業(yè)務(wù)',u'狀態(tài)',u'北京',u'上海',u'廣州',u'深圳',u'狀態(tài)小計(jì)',u'合計(jì)']

?column0 =[u'機(jī)票',u'船票',u'火車(chē)票',u'汽車(chē)票',u'其他']

?status =[u'預(yù)定',u'出票',u'退票',u'業(yè)務(wù)小計(jì)']

?fori inrange(0,len(row0)):

??sheet1.write(0,i,row0[i],set_stlye("Time New Roman",220,True))

?i,j =1,0

?whilei <4*len(column0): #控制循環(huán):每次加4

??#第一列

??sheet1.write_merge(i,i+3,0,0,column0[j],set_stlye('Arial',220,True))

??#最后一列

??sheet1.write_merge(i,i+3,7,7)

??i +=4

?sheet1.write_merge(21,21,0,1,u'合計(jì)',set_stlye("Time New Roman",220,True))

?i=0

?whilei<4*len(column0): #控制外層循環(huán):每次加4

??forj inrange(0,len(status)): #控制內(nèi)層循環(huán):設(shè)置每一行內(nèi)容

???sheet1.write(i+j+1,1,status[j])

??i +=4

?#創(chuàng)建sheet2

?sheet2 =f.add_sheet(u'sheet2',cell_overwrite_ok=True)

?row0 =[u'姓名',u'年齡',u'出生日期',u'愛(ài)好',u'關(guān)系']

?column0 =[u'UZI',u'Faker',u'大司馬',u'PDD',u'馮提莫']

?#生成第一行

?fori inrange(0,len(row0)):

??sheet2.write(0,i,row0[i],set_stlye('Times New Roman',220,True))

?#生成第一列

?fori inrange(0,len(column0)):

??sheet2.write(i+1,0,column0[i],set_stlye('Times New Roman',220,True))

?f.save('data.xls')

if__name__ =='__main__':

?write_excel()~


簡(jiǎn)單的多的多,有人說(shuō)程序員脫離的網(wǎng)絡(luò)就不會(huì)寫(xiě)代碼了冀瓦,這話說(shuō)的沒(méi)毛病伴奥。要站在巨人的肩膀上前進(jìn)才行。只有你知道的多翼闽,你才能做的更多拾徙。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市感局,隨后出現(xiàn)的幾起案子尼啡,更是在濱河造成了極大的恐慌暂衡,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崖瞭,死亡現(xiàn)場(chǎng)離奇詭異狂巢,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)书聚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)唧领,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人雌续,你說(shuō)我怎么就攤上這事斩个。” “怎么了驯杜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵受啥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我艇肴,道長(zhǎng)腔呜,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任再悼,我火速辦了婚禮核畴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冲九。我一直安慰自己谤草,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布莺奸。 她就那樣靜靜地躺著丑孩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪灭贷。 梳的紋絲不亂的頭發(fā)上温学,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音甚疟,去河邊找鬼仗岖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛览妖,可吹牛的內(nèi)容都是我干的轧拄。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼讽膏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼檩电!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤俐末,失蹤者是張志新(化名)和其女友劉穎料按,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鹅搪,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡站绪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丽柿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恢准。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖甫题,靈堂內(nèi)的尸體忽然破棺而出馁筐,到底是詐尸還是另有隱情,我是刑警寧澤坠非,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布敏沉,位于F島的核電站,受9級(jí)特大地震影響炎码,放射性物質(zhì)發(fā)生泄漏盟迟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一潦闲、第九天 我趴在偏房一處隱蔽的房頂上張望攒菠。 院中可真熱鬧,春花似錦歉闰、人聲如沸辖众。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凹炸。三九已至,卻和暖如春昼弟,著一層夾襖步出監(jiān)牢的瞬間啤它,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工舱痘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚕键,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓衰粹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親笆怠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铝耻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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