使用xlrd和xlwt讀寫excel文件

2021-02-13 迷途小書童的Note
軟硬體環境簡介

數據處理是python程式語言的一大應用領域,而excel又是當下最流行的數據處理軟體,因此用python進行數據處理時,很容易就會碰到excel的處理問題。

工具

這裡我們使用xlrd和xlwt來進行excel文件的讀寫

我們使用pip進行安裝

寫入excel

直接來看示例

import xlwt
# 創建xls文件對象workbook = xlwt.Workbook()
# 新增兩個表單頁sheet1 = workbook.add_sheet('成績')sheet2 = workbook.add_sheet('匯總')
# 按照單元格來添加數據,第一個參數是行,第二個參數是列# 操作第一個sheetsheet1.write(0, 0, '姓名')sheet1.write(0, 1, '成績')sheet1.write(1, 0, '張三')sheet1.write(1, 1, 80)sheet1.write(2, 0, '李四')sheet1.write(2, 1, 90)sheet1.write(3, 0, '王五')sheet1.write(3, 1, 100)
# 操作第二個sheetsheet2.write(0, 0, '總分')sheet2.write(0, 1, '平均分')sheet2.write(1, 0, 270)sheet2.write(1, 1, 90)
# 保存文件workbook.save('test.xls')

執行以上代碼後,在當前目錄下生成test.xls

xlwt

xlwt讀取excel

針對上面生成的test.xls,使用xlrd進行讀取,來看代碼

import xlrd
# 打開上面創建的test.xls文件wb = xlrd.open_workbook("test.xls")
# sheet數量print(f"sheet數量: {wb.nsheets}")
# 獲取並列印 sheet 名稱print(f"sheet名稱: {wb.sheet_names()}")
# 根據索引獲取sheet1 = wb.sheet_by_index(0)
# 或者根據sheet的名稱獲取# sheet1 = wb.sheet_by_name('成績')
# sheet名稱、行數和列數print(f"sheet {sheet1.name}, 共有{sheet1.nrows}行{sheet1.ncols}列")
# 獲取某個單元格的值print(f"第一行第二列的值為: {sheet1.cell_value(0, 1)}")
# 獲取整行或整列的值rows = sheet1.row_values(0)cols = sheet1.col_values(1)
# 獲取的行列值print(f"第一行的值為: {rows}")print(f"第二列的值為: {cols}")
# 遍歷所有表單內容for sheet in wb.sheets(): for r in range(sheet.nrows): print(sheet.row(r))

執行上述代碼,得到輸出

sheet數量: 2sheet名稱: ['成績', '匯總']sheet 成績, 共有4行2列第一行第二列的值為: 成績第一行的值為: ['姓名', '成績']第二列的值為: ['成績', 80.0, 90.0, 100.0][text:'姓名', text:'成績'][text:'張三', number:80.0][text:'李四', number:90.0][text:'王五', number:100.0][text:'總分', text:'平均分'][number:270.0, number:90.0]

備註

處理excel的開源方法有很多,更多第三方庫請參考文末的參考資料

參考資料http://www.python-excel.org/

相關焦點

  • 通過xlrd和xlwt模塊讀寫excel文件
    xlrd模塊用於讀取excel文件,xlwt模塊用於寫入excel文件,二者搭配,可以靈活的操作excel文件。
  • 如何用Python讀寫Excel文件?最便捷的3種方式
    python讀寫excel的方式有很多,這裡我介紹3種方式,一種是利用xlrd和xlwt進行excel讀寫,一種是openpyxl讀寫,最後一種是利用
  • 萬字長文記錄Python讀寫EXCEL文件常用方法大全
    用xlrd和xlwt進行excel讀寫;用openpyxl進行excel讀寫;用pandas進行excel讀寫;參考:很多人學習python,不知道從何學起。很多人學習python,掌握了基本語法過後,不知道在哪裡尋找案例上手。很多已經做案例的人,卻不知道如何去學習更加高深的知識。
  • Python讀寫EXCEL文件常用方法大全
    2 數據準備為了方便演示,我這裡新建了一個data.xls和data.xlsx文件,第一個工作表sheet1區域「A1:E5」的內容如下,用於測試讀寫excel的代碼:3 xlrd和xlwtxlrd是一個庫,用於從Excel文件中以.xls格式讀取數據和格式化信息xlwt是一個庫,用於將數據和格式化信息寫入較舊的Excel文件
  • Python讀寫Excel表格,就是這麼簡單粗暴又好用
    以前正好在一本書上看到過使用Python來處理Excel表格,可惜沒有仔細看。於是我到處查找資料,基本解決了日常所需,終於算是完成了任務,因此撰寫此文就算是總結吧,主要記錄使用過程的常見問題及解決。python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。可從這裡下載https://pypi.python.org/pypi。
  • Python讀寫Excel表格,就是這麼簡單粗暴又好用(文末送書)
    於是我到處查找資料,基本解決了日常所需,終於算是完成了任務,因此撰寫此文就算是總結吧,主要記錄使用過程的常見問題及解決。python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。可從這裡下載https://pypi.python.org/pypi。下面分別記錄python讀和寫excel。
  • 如何利用python的xlrd讀取excel文件?
    Python讀取excel文件有很多方法,這裡主要介紹一下xlrd包的使用辦法。
  • 使用Pandas讀寫操作excel
    模塊,安裝命令:pip install xlrd(3):打開代碼編輯器jupyter、ipython、pycharm,根據自己習慣和需求選用。2、準備好excel數據表格3、使用Pandas讀取excel數據df = pd.read_excel('路徑',sheet_name='excel中的哪個表,表名/位置')如果不使用sheet_name='***',默認讀取第一張表import pandas as pdimport xlrd#讀取sheet_name='table1'的數據df
  • xlrd操作excel
    # 導入xlrdimport xlrd# 讀取文件data = xlrd.open_workbook('excelFile.xls
  • python 將一個工作表中的多個sheet合併到另一個excel中
    import xlrdfrom xlutils.copy import copyexcel_file = r'excel
  • Python Excel 辦公自動化系列——xlutils/xlwings庫使用詳解
    xlutils可用於拷貝原excel或者在原excel基礎上進行修改,並保存;官方文檔:https://xlutils.readthedocs.io/en/latest/4.2 xlutils拷貝源文件(需配合
  • VB中讀寫EXCEL文件的方法
  • Excel中的xls、xlsx、xlsm混合文件,看我用Python如何統一處理......
    今天黃同學再帶大家探討Python處理Excel文件時,遇到的一些問題。在Python中,有幾個常用的庫專門用來處理Excel文件,分別是xlrd、xlwt和openpyxl,簡單介紹一下:openpyxl可以讀數據和寫數據,但只能處理xlsx;如果待處理的文件,既有xls,又有xlsx時,我覺得還是將它們一併轉換為統一格式
  • xlrd模塊讀取Excel數據
    1、安裝模塊2、xlrd常用函數讀取Excel
  • pandas.read_excel()讀取excel文件時提示需要指定engine參數的問題
    pandas.read_excel()函數中有很多參數,除了可包含路徑的文件名外,其他參數均有默認值。
  • 手把手教你利用Python輕鬆拆分Excel為多個CSV文件
    一起來看看吧~二、項目目標將單個Excel文件拆分為多個CSV文件或根據某一列的內容拆分為多個CSV文件。1)如何選擇目標文件?利用tkinter庫中的filedialog,進行要處理的目標文件選擇。2)如何讀取Excel文件?利用xlrd庫進行Excel讀取,獲取要處理的目標Sheet。3)如何篩選列內容?
  • 一個比較兩份EXCEL文件差異的程序
    1',initialdir=(os.path.expanduser('C:/')))    file_path=filedialog.askopenfilename(title=u'選擇文件1')    File1=file_path    try:        tf1=xlrd.open_workbook(File1)
  • 怎樣使用Pandas批量拆分與合併Excel文件?
    start=0, stop=258, step=1)df_source.shape(258, 3)total_row_count = df_source.shape[0]total_row_count258一、將一個大Excel等份拆成多個Excel使用
  • 60行代碼實現Excel轉Word...
    Python 3.7  環境 同時需要 xlrd + python-docx 包pip install xlrd -i https://pypi.mirrors.ustc.edu.cn/simple/pip install python-docx -i https://pypi.mirrors.ustc.edu.cn/
  • Python Excel 辦公自動化系列——openpyxl/xlswriter庫使用詳解
    直接使用cell的font屬性,將Font對象賦值給它。bold_itatic_24_font = Font(name='等線', size=24, italic=True, color=colors.RED, bold=True)sheet['A1'].font = bold_itatic_24_font也是直接使用cell的屬性aligment,這裡指定垂直居中和水平居中。