首頁  >  文章  >  後端開發  >  python怎麼讀取和寫入excel表格

python怎麼讀取和寫入excel表格

(*-*)浩
(*-*)浩原創
2019-07-01 10:41:366692瀏覽

最近在做一些資料處理和計算的工作,因為資料是以.CSV格式保存的,因此剛開始直接用Excel來處理。但是做著做著發現重複的勞動,其實沒有多大的意義,於是就想著寫個小工具幫忙處理。以前剛好在一本書上看過,使用Python來處理Excel表格,可惜沒有仔細看。

python怎麼讀取和寫入excel表格

Python操作Excel,主要用到xlrd和xlwt這兩個函式庫,即xlrd是讀Excel,xlwt是寫Excel的函式庫。

Python寫Excel——xlwt(推薦學習:Python影片教學

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相關技術文章,請造訪Python教程欄位進行學習!

以上是python怎麼讀取和寫入excel表格的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn