溫馨提示×

溫馨提示×

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

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

怎么使用Python操作Excel

發(fā)布時(shí)間:2022-08-01 14:18:41 來源:億速云 閱讀:130 作者:iii 欄目:開發(fā)技術(shù)

這篇“怎么使用Python操作Excel”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么使用Python操作Excel”文章吧。

?數(shù)據(jù)處理是 Python 的一大應(yīng)用場景,而 Excel 則是最流行的數(shù)據(jù)處理軟件。因此用 Python 進(jìn)行數(shù)據(jù)相關(guān)的工作時(shí),難免要和 Excel 打交道。Python處理Excel 常用的系列庫有:xlrd、xlwt、xlutils、openpyxl

?xlrd - 用于讀取 Excel 文件,支持.xls和.xlsx格式

?xlwt - 用于寫入 Excel 文件,只支持.xls格式

?xlutils - 操作 Excel 文件的實(shí)用工具,如復(fù)制、分割、篩選等

?openpyxl - 既可以讀文件、也可以寫文件、也可以修改文件;但是,openpyxl 庫不支持 xls 格式的Excel文檔。

一、安裝庫的操作

打開cmd,輸入命令進(jìn)行安裝:pip install xlwt

怎么使用Python操作Excel

打開cmd,輸入命令進(jìn)行安裝:pip install xlrd

怎么使用Python操作Excel

打開cmd,輸入命令進(jìn)行安裝:pip install openpyxl

怎么使用Python操作Excel

二、xlwt庫使用

?xlwt - 用于寫入 Excel 文件,只支持.xls格式

1.需求:創(chuàng)建一個(gè)新的xls文件中寫入如下數(shù)據(jù),然后保存為login.xls

怎么使用Python操作Excel

2.使用xlwt寫入數(shù)據(jù)的步驟

1)導(dǎo)包:import xlwt
2)創(chuàng)建一個(gè)文件對象:book=xlwt.Workbook()
3)添加一個(gè)sheet工作表:sh2=book.add_sheet(Sheetname)
4)添加內(nèi)容:sh2.write(row,col,value)  #單元格行和列分別從0開始
5)保存文件:book.save(filename)

3.代碼實(shí)現(xiàn)

# coding = utf-8
import xlwt
#創(chuàng)建一個(gè)excel文件對象
book = xlwt.Workbook() 
#添sheet工作表
sh2 = book.add_sheet('登錄數(shù)據(jù)') 
sh2.write(0,0,'用戶名') # 在A1單元格寫入數(shù)據(jù)
sh2.write(0,1,'密碼')   # 在B1單元格寫入數(shù)據(jù)
row1 = ['test','test123']
# 結(jié)合循環(huán)寫入一行數(shù)據(jù)
for i in range(len(row1)): 
    sh2.write(1,i,row1[i])
book.save('login.xls') # 保存文件

三、xlrd庫使用

?xlrd - 用于讀取 Excel 文件,支持.xls和.xlsx格式

1.需求:讀取login.xls文件中指定的單元格、指定行、指定的列或者所有的數(shù)據(jù)

2.使用xlrd讀取數(shù)據(jù)的步驟

1)導(dǎo)包:import xlrd
2)打開一個(gè)文件:book=xlrd.open_workbook(filename)
3)使用sheet工作表:sh2=book.sheet_by_name(sheet_name)
4)讀取sheet工作表的屬性信息
  print('sheet總行數(shù)',sh2.nrows)
  print('sheet總列數(shù)',sh2.ncols)
5)讀取sheet工作表存儲的文本內(nèi)容
  1)讀取一行:row1=sh2.row_values(row) # 行號從0開始
  2)讀取一列:col1=sh2.col_values(col) # 列號從0開始
  3)讀取一個(gè)單元格:cell_value=sh2.cell(row,col).value

3.代碼實(shí)現(xiàn)

# coding = utf-8
import xlrd
book = xlrd.open_workbook('login.xls')
sh2 = book.sheet_by_name('登錄數(shù)據(jù)')
# 讀取第一行的數(shù)據(jù)
row1 = sh2.row_values(0)
print('第一行數(shù)據(jù):',row1)
# 讀取第一列的數(shù)據(jù)
col1 = sh2.col_values(0)
print('第一列數(shù)據(jù):',col1)
# 讀取指定單元格的數(shù)據(jù)
cell = sh2.cell(1,1).value
print('A2單元格的值:',cell)
# 讀取所有的數(shù)據(jù)
rows = sh2.nrows  # 獲取當(dāng)前工作表總的行數(shù)
for i in range(rows):
    print('所有數(shù)據(jù)打印,第{}行,數(shù)據(jù)為:{}:'.format(i,sh2.row_values(i)))

4.代碼運(yùn)行結(jié)果展示:

怎么使用Python操作Excel

四、openpyxl庫使用-寫入數(shù)據(jù)

?openpyxl - 既可以讀文件、也可以寫文件、也可以修改Excel文件;但是不支持 xls 格式

1.需求:對已存在的test_api.xlsx文件寫入接口測試結(jié)果,如下圖所示

怎么使用Python操作Excel

2.使用openpyx寫入數(shù)據(jù)的步驟

1)導(dǎo)包:import openpyxl
2)打開文件:book = openpyxl.load_workbook(filename)
3)使用sheet工作表:sheet = book[sheetname]
4) 單元格寫入:sh2['F2'] = 'PASS'  或者 sh2.cell(row,col).value='FAIL'  #行和列的索從1開始
6:保存文件:book.save(filename)

3.代碼實(shí)現(xiàn)

# coding = utf-8
import openpyxl
# 打開excel文件
book = openpyxl.load_workbook('test_api.xlsx')
# 通過工作表名字打開工作表
sh2 = book['register']
# 通過單元格的名稱寫入數(shù)據(jù)
sh2['I2'] = '不通過'
# 通過單元格的行、列寫入數(shù)據(jù)
sh2.cell(3,9).value = '通過'
# 保存文件
book.save('test_api.xlsx')

五、openpyxl庫使用-讀取數(shù)據(jù)

1.需求:讀取test_api.xls文件中l(wèi)ogin工作表指定的單元格、指定行、或者所有的數(shù)據(jù)

2.使用openpyx讀取數(shù)據(jù)的步驟

1)導(dǎo)包:import openpyxl
2)打開文件:book = openpyxl.load_workbook(filename)
3)使用sheet工作表:sheet = book[sheetname]
4)讀取sheet工作表的屬性信息
  返回工作表的最大行數(shù):sheet.max_row
  返回工作表的的最大列數(shù):sheet.max_column
5)讀取sheet工作表存儲的文本內(nèi)容
1)按單元格讀取:cell1 = sh2['A1'].value 或者 cell2= sh2.cell(row,col).value #行和列的索引值是從1開始的
2) 按行讀取

  for row in sheet.iter_rows(max_row=3):# 讀取前3行數(shù)據(jù)
  for cell in row:
      print(cell.value,end='\t')
  print()

3.代碼實(shí)現(xiàn)

# coding = utf-8
import openpyxl
book = openpyxl.load_workbook('test_api.xlsx')
sh2 = book['login']
# 讀取單元格數(shù)據(jù)
cell1 = sh2['A1'].value
print('A1單元格的值為:',cell1)
cell2 = sh2.cell(1,2).value
print('B1單元格的值為:',cell2)
# 讀取前2行數(shù)據(jù)
print('讀取前2行數(shù)據(jù):') 
for row in sh2.iter_rows(max_row= 2): # 讀取前2行數(shù)據(jù)
    for cell in row:
        print(cell.value,end='\t|\t') # 不換行輸出這一行中每個(gè)單元格的值
    print() # 輸出完一行之后換行
# 讀取所有的數(shù)據(jù)
print('讀取所有的數(shù)據(jù):')
rows = sh2.max_row  # 獲取當(dāng)前工作表總的行數(shù)
for row in sh2.iter_rows(max_row=rows): # 讀取所有的數(shù)據(jù)
    for cell in row:
        print(cell.value, end='\t|\t') # 不換行輸出這一行中每個(gè)單元格的值
    print() # 輸出完一行之后換行

4、運(yùn)行結(jié)果

怎么使用Python操作Excel

以上就是關(guān)于“怎么使用Python操作Excel”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

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

AI