溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何操作Excel

發(fā)布時間:2022-02-24 11:42:23 來源:億速云 閱讀:129 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Python如何操作Excel,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Python 操作 Excel

常用工具

數(shù)據(jù)處理是 Python 的一大應用場景,而 Excel 又是當前最流行的數(shù)據(jù)處理軟件。因此用 Python 進行數(shù)據(jù)處理時,很容易會和 Excel 打起交道。得益于前人的辛勤勞作,Python 處理 Excel 已有很多現(xiàn)成的輪子,比如 xlrd & xlwt & xlutils 、 XlsxWriter 、 OpenPyXL ,而在 Windows 平臺上可以直接調(diào)用 Microsoft Excel 的開放接口,這些都是比較常用的工具。

xlrd & xlwt & xlutils 介紹

xlrd&xlwt&xlutils 顧明思意是由以下三個庫組成:

  • xlrd:用于讀取 Excel 文件;

  • xlwt:用于寫入 Excel 文件;

  • xlutils:用于操作 Excel 文件的實用工具,比如復制、分割、篩選等;

安裝

pip install xlrdpip install xlwtpip install xlutils

導入

import xlrdimport xlwtimport xlutils

讀取excel

# ----讀取excel----data= xlrd.open_workbook(excel_file)

讀取sheet

# ----讀取sheet----# 通過索引順序獲取sheet table = data.sheets()[0]# 通過索引順序獲取sheet table = data.sheet_by_index(0))# 通過名稱獲取sheet table = data.sheet_by_name("sheet")# 返回book中所有sheet的名字names = data.sheet_names()# 傳入索引或sheet名檢查某個sheet是否導入完畢table.sheet_loaded("sheet")
table.sheet_loaded(0)# sheet名table.name# sheet列數(shù)table.ncols# sheet行數(shù)table.nrows

讀取sheet的行

# 返回由rowx行中所有的單元格對象組成的列表table.row(rowx)# 獲取rowx行第一個單元格的類型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空白表格)table.row(rowx)[0].ctype# 獲取rowx行第一個單元格的值table.row(rowx)[0].value# 返回由rowx行中所有的單元格對象組成的列表table.row_slice(self, rowx, start_colx=0, end_colx=None)# 返回由rowx行中所有單元格的數(shù)據(jù)類型組成的列表table.row_types(rowx, start_colx=0, end_colx=None)# 返回由rowx行中所有單元格的數(shù)據(jù)組成的列表table.row_values(rowx, start_colx=0, end_colx=None)# 返回rowx行的有效單元格長度table.row_len(rowx)

讀取sheet的列

#返回colx列中所有的單元格對象組成的列表table.col(colx, start_rowx=0, end_rowx=None)  

#返回colx列中所有的單元格對象組成的列表table.col_slice(colx, start_rowx=0, end_rowx=None)  

#返回colx列中所有單元格的數(shù)據(jù)類型組成的列表table.col_types(colx, start_rowx=0, end_rowx=None) 
   
#返回colx列中所有單元格的數(shù)據(jù)組成的列表table.col_values(colx, start_rowx=0, end_rowx=None)

讀取sheet的單元格

# 返回單元格對象cell = table.cell(rowx,colx)# 單元格數(shù)據(jù)類型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空白表格)cell.ctype# 單元格值cell.value# 返回單元格中的數(shù)據(jù)類型table.cell_type(rowx,colx)# 返回單元格中的數(shù)據(jù)table.cell_value(rowx,colx)# 暫時還沒有搞懂table.cell_xf_index(rowx, colx)

寫入excel

# 使用xlutils將xlrd讀取的對象轉(zhuǎn)為xlwt可操作對象,table即上述xlrd讀取的tableworkbook = xlutils.copy(table)# 或者如果你只是想創(chuàng)建一張空表workbook = xlwt.Workbook(encoding = 'utf-8')# 創(chuàng)建一個sheetworksheet = workbook.add_sheet('sheet')# 獲取一個已存在的sheetworksheet = workbook.get_sheet('sheet')# 寫入一個值,括號內(nèi)分別為行數(shù)、列數(shù)、內(nèi)容worksheet.write(row, column, "memeda")

workbook.save('memeda.xls')

帶樣式寫入示例

workbook = xlwt.Workbook(encoding = 'utf-8')
style = xlwt.XFStyle()
font = xlwt.Font() # 創(chuàng)建字體font.name = 'Arial'font.bold = True # 黑體font.underline = True # 下劃線font.italic = True # 斜體字font.colour_index = 2 # 顏色為紅色style.font = font
worksheet.write(row, column, "memeda", style)
workbook.save('memeda.xls')

輸出多種顏色字體

import xlwt

workbook = xlwt.Workbook(encoding='utf-8')def get_style(i):style = xlwt.XFStyle()
    font = xlwt.Font()  # 創(chuàng)建字體font.colour_index = i
    style.font = fontreturn style


sheet = workbook.add_sheet("memeda")for i in range(0, 100):
    sheet.write(i, 0, "memeda", get_style(i))
workbook.save('memeda.xls')

以上是“Python如何操作Excel”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI