這篇文章給大家分享的是有關python讀取和寫入excel表格的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
最近在做一些數據處理和計算的工作,因為數據是以.CSV格式保存的,因此剛開始直接用Excel來處理。但是做著做著發現重復的勞動,其實并沒有多大的意義,于是就想著寫個小工具幫著處理。以前正好在一本書上看到過,使用Python來處理Excel表格,可惜沒有仔細看。
Python操作Excel,主要用到xlrd和xlwt這兩個庫,即xlrd是讀Excel,xlwt是寫Excel的庫。
Python寫Excel——xlwt
Python寫Excel的難點,不在構造一個Workbook的本身,而是填充的數據,不過這不在范圍內。
在寫Excel的操作中,也有棘手的問題,比如寫入合并的單元格,就是比較麻煩的,另外寫入還有不同的樣式。
詳細代碼如下:
import xlwt
#設置表格樣式
def set_style(name,height,bold=False):
style = xlwt.XFStyle()
font = xlwt.Font()
font.name = name
font.bold = bold
font.color_index = 4
font.height = height
style.font = font
return style
#寫Excel
def write_excel():
f = xlwt.Workbook()
sheet1 = f.add_sheet('學生',cell_overwrite_ok=True)
row0 = ["姓名","年齡","出生日期","愛好"]
colum0 = ["張三","李四","戀習Python","小明","小紅","無名"]
#寫第一行
for i in range(0,len(row0)):
sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
#寫第一列
for i in range(0,len(colum0)):
sheet1.write(i+1,0,colum0[i],set_style('Times New Roman',220,True))
sheet1.write(1,3,'2006/12/12')
sheet1.write_merge(6,6,1,3,'未知')#合并行單元格
sheet1.write_merge(1,2,3,3,'打游戲')#合并列單元格
sheet1.write_merge(4,5,3,3,'打籃球')
f.save('test.xls')
if __name__ == '__main__':
write_excel()Python讀Excel——xlrd
Python讀取Excel表格,相比xlwt來說,xlrd提供的接口比較多,但過程也有幾個比較麻煩的問題,比如讀取日期、讀合并單元格內容。
整體思路為,打開文件,選定表格,讀取行列內容,讀取表格內數據
詳細代碼如下:
import xlrd
from datetime import date,datetime
file = 'test3.xlsx'
def read_excel():
wb = xlrd.open_workbook(filename=file)#打開文件
print(wb.sheet_names())#獲取所有表格名字
sheet1 = wb.sheet_by_index(0)#通過索引獲取表格
sheet2 = wb.sheet_by_name('年級')#通過名字獲取表格
print(sheet1,sheet2)
print(sheet1.name,sheet1.nrows,sheet1.ncols)
rows = sheet1.row_values(2)#獲取行內容
cols = sheet1.col_values(3)#獲取列內容
print(rows)
print(cols)
print(sheet1.cell(1,0).value)#獲取表格里的內容,三種方式
print(sheet1.cell_value(1,0))
print(sheet1.row(1)[0].value)感謝各位的閱讀!關于python讀取和寫入excel表格的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。