python讀寫Excel表格的實例代碼(簡單實用)
安裝兩個庫:pip install xlrd、pip install xlwt
1.python讀excel——xlrd
2.python寫excel——xlwt
1.讀excel數(shù)據(jù),包括日期等數(shù)據(jù)
#coding=utf-8 import xlrd import datetime from datetime import date def read_excel(): #打開文件 wb = xlrd.open_workbook(r'test.xlsx') #獲取所有sheet的名字 print(wb.sheet_names()) #獲取第二個sheet的表明 sheet2 = wb.sheet_names()[1] #sheet1索引從0開始,得到sheet1表的句柄 sheet1 = wb.sheet_by_index(0) rowNum = sheet1.nrows colNum = sheet1.ncols #s = sheet1.cell(1,0).value.encode('utf-8') s = sheet1.cell(1,0).value #獲取某一個位置的數(shù)據(jù) # 1 ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error print(sheet1.cell(1,2).ctype) print(s) #print(s.decode('utf-8')) #獲取整行和整列的數(shù)據(jù) #第二行數(shù)據(jù) row2 = sheet1.row_values(1) #第二列數(shù)據(jù) cols2 = sheet1.col_values(2) #python讀取excel中單元格內(nèi)容為日期的方式 #返回類型有5種 for i in range(rowNum): if sheet1.cell(i,2).ctype == 3: d = xlrd.xldate_as_tuple(sheet1.cell_value(i,2),wb.datemode) print(date(*d[:3]),end='') print('\n') if __name__ == '__main__': read_excel()~
運行效果
2.往excel寫入數(shù)據(jù)
#coding=utf-8 import xlwt #設(shè)置表格樣式 def set_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 return style #寫入數(shù)據(jù) def write_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)小計',u'合計'] column0 = [u'機(jī)票',u'船票',u'火車票',u'汽車票',u'其他'] status = [u'預(yù)定',u'出票',u'退票',u'業(yè)務(wù)小計'] for i in range(0,len(row0)): sheet1.write(0,i,row0[i],set_stlye("Time New Roman",220,True)) i,j = 1,0 while i <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'合計',set_stlye("Time New Roman",220,True)) i=0 while i<4*len(column0): #控制外層循環(huán):每次加4 for j in range(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'愛好',u'關(guān)系'] column0 = [u'UZI',u'Faker',u'大司馬',u'PDD',u'馮提莫'] #生成第一行 for i in range(0,len(row0)): sheet2.write(0,i,row0[i],set_stlye('Times New Roman',220,True)) #生成第一列 for i in range(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()~
在data.xls種生成了sheet1和sheet2:
總結(jié)
以上所述是小編給大家介紹的python讀寫Excel表格的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
解決Jupyter Notebook “signal only works&nb
這篇文章主要介紹了解決Jupyter Notebook “signal only works in main thread“問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01Python制作一個隨機(jī)抽獎小工具的實現(xiàn)
最近在工作中面向社群玩家組織了一場活動,需要進(jìn)行隨機(jī)抽獎,就做了一個簡單的隨機(jī)抽獎小工具。具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07Python從ZabbixAPI獲取信息及實現(xiàn)Zabbix-API 監(jiān)控的方法
這篇文章主要介紹了Python從ZabbixAPI獲取信息及實現(xiàn)Zabbix-API 監(jiān)控的方法,需要的朋友可以參考下2018-09-09python matplotlib庫繪制條形圖練習(xí)題
這篇文章主要介紹了python matplotlib庫繪制條形圖練習(xí)題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08