python讀寫Excel表格的實(shí)例代碼(簡(jiǎn)單實(shí)用)
安裝兩個(gè)庫(kù):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())
#獲取第二個(gè)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
#獲取某一個(gè)位置的數(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()~
運(yùn)行效果

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)小計(jì)',u'合計(jì)']
column0 = [u'機(jī)票',u'船票',u'火車票',u'汽車票',u'其他']
status = [u'預(yù)定',u'出票',u'退票',u'業(yè)務(wù)小計(jì)']
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'合計(jì)',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表格的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Python&Matlab實(shí)現(xiàn)螞蟻群算法求解最短路徑問(wèn)題的示例
本文主要介紹了Python&Matlab實(shí)現(xiàn)螞蟻群算法求解最短路徑問(wèn)題的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
django admin添加數(shù)據(jù)自動(dòng)記錄user到表中的實(shí)現(xiàn)方法
下面小編就為大家分享一篇django admin添加數(shù)據(jù)自動(dòng)記錄user到表中的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Python實(shí)現(xiàn)PDF提取文字并統(tǒng)計(jì)詞頻
這篇文章主要為大家介紹了Python土豪通過(guò)統(tǒng)計(jì)詞頻來(lái)實(shí)現(xiàn)快速預(yù)覽PDF報(bào)告效果,文中提供了文字PDF和圖片PDF提取文字的兩類方式,希望對(duì)大家有所幫助2025-04-04
Python使用MD5加密算法對(duì)字符串進(jìn)行加密操作示例
這篇文章主要介紹了Python使用MD5加密算法對(duì)字符串進(jìn)行加密操作,結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)md5加密相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
python SMTP實(shí)現(xiàn)發(fā)送帶附件電子郵件
這篇文章主要為大家詳細(xì)介紹了python SMTP實(shí)現(xiàn)發(fā)送帶附件電子郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05

