前些天有個(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)才行。只有你知道的多翼闽,你才能做的更多拾徙。