Python使用xlrd和xlwt實現自動化操作Excel

一、前言介紹

xlrd:可以對xlsx、xls、xlsm文件進行讀操作且效率高。

xlwt:主要對xls文件進行寫操作且效率高,但是不能執行xlsx文件。

xlrd是用來從Excel中讀寫數據的,但通常隻用它進行讀操作,寫操作會相對於專門寫入的模塊麻煩一些。

xlwt隻能對Excel進行寫操作。xlwt和xlrd不光名字像,連很多函數和操作格式也是完全相同。

二、安裝

在命令行或者終端中使用pip安裝:

pip install Xlrd
pip install xlwt

三、xlrd常用操作

  用xlrd進行讀取比較方便,流程和手動操作Excel一樣,打開工作簿(Workbook),選擇工作表(sheets),然後操作單元格(cell)

1、打開Excel

import xlrd
df = xlrd.open_workbook(name) 

    導入模塊後使用open_workbook()函數來讀取指定的一個工作簿對象。這裡參數name是Excel文件名字,一般使用的是相對路徑的名字。

2、查看工作簿中所有sheet 

df.sheet_names()

讀取文件,便可得到以列表形式嵌字符串的值。 

3、選擇一個工作表

table=df.sheets()[0]  
table=df.sheet_by_index(0)
table=df.sheet_by_name('name')

第一行:獲取第一個工作表,寫法是根據內置的列表格式來選取的。

第二行:通過索引獲取第一個工作表,這裡的索引與pandasDataFrameindex索引類似,隻不過對象換成瞭工作表。

第三行:通過表的名稱選擇工作表。

4、獲取表格的行數、列數

row=table.nrows
col=table.ncols

這裡不需要在函數後面加小括號

5、獲取整行和整列的值

table.row_values(num1)
table.column_values(num2)

6、通過循環讀取表格的所有行

for i in range(table.nrows):
 print (table.row_values(i))

7、獲取單元格的值

cell1=table.row(0)[0].value
cell1=table.cell(0,0).value
cell1=table.col(0)[0].value
  • 第一行:獲取單元格值的方式是通過調取指定行數據進行篩選。
  • 第二行:是以二維的形式獲取,即(第i行,第j列)形式。
  • 第三行:與第一行類似是通過列索引調用。

四、xlwt常用操作

1、新建Excel文件

import xlwt
df2 = xlwt.Workbook()

2、新建工作表

table2=df2.add_sheet('name')       #name是工作表的名稱

3、寫入數據到指定單元格

table2.write(0,0,'Python')
#前兩個參數對應(第i行,第j列),代表的是單元格的位置。第三個參數是要寫的值(可以是字符串、數字)

4、保存文件

df2.save('data2.xls')

PS:xlwt僅支持.xls的文件格式輸出。

五、綜合xlrd、xlwt讀寫Excel

​1、讀

import xlrd
 
# 1、打開工作本workbook
xlsx = xlrd.open_workbook(r'.\t1.xlsx')
 
# 2、打開需要操作的表sheet
table = xlsx.sheet_by_index(0)
# table = xlsx.sheet_by_name('t1')
 
# 3、讀取指定單元格的數據
print(table.cell_value(1,1))
print(table.cell(1,1).value)
print(table.row(1)[1].value)

2、寫

import xlwt
# 1、新建一個工作本
new_workbook = xlwt.Workbook()
# 2、為這個工作本中添加一個工作表
worksheet = new_workbook.add_sheet('new_test')
# 3、向指定單元格寫入內容
worksheet.write(0,0,'nt')
# 4、保存
new_workbook.save('./nt.xls')

到此這篇關於Python使用xlrd和xlwt實現自動化操作Excel的文章就介紹到這瞭,更多相關Python操作Excel內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: