Python自動化如何處理excel文件數據

2021-12-31 自動化軟體測試

在python自動化中,經常會遇到對數據文件的操作,比如添加多名員工,但是直接將員工數據寫在python文件中,不但工作量大,要是以後再次遇到類似批量數據操作還會寫在python文件中嗎?

應對這一問題,可以將數據寫excel文件,針對excel 文件進行操作,完美解決。

本文僅介紹python對excel的操作。

安裝xlrd 庫

xlrd庫 官方地址:https://pypi.org/project/xlrd/

pip install xlrd

筆者在安裝時使用了 pip3 install xlrd

原因:筆者同時安裝了python2 和 python3

如果pip的話會默認將庫安裝到python2中,python3中不能直接調用。

那麼到底是使用pip 還是pip3進行安裝呢?

如果系統中只安裝了Python2,那麼就只能使用pip。

如果系統中只安裝了Python3,那麼既可以使用pip也可以使用pip3,二者是等價的。

如果系統中同時安裝了Python2和Python3,則pip默認給Python2用,pip3指定給Python3用。

Xlrd 庫簡單的使用

以如下excel文件為例進行操作

文件名為demo,有兩個sheet,名為工作表1和工作表2

工作表1中有如下數據

簡單的使用

# coding=utf-8

import xlrd

# 打開文件
data = xlrd.open_workbook('file/demo.xlsx')

# 查看工作表
data.sheet_names()
print("sheets:" + str(data.sheet_names()))

# 通過文件名獲得工作表,獲取工作表1
table = data.sheet_by_name('工作表1')

# 列印data.sheet_names()可發現,返回的值為一個列表,通過對列表索引操作獲得工作表1
# table = data.sheet_by_index(0)

# 獲取行數和列數
# 行數:table.nrows
# 列數:table.ncols
print("總行數:" + str(table.nrows))
print("總列數:" + str(table.ncols))

# 獲取整行的值 和整列的值,返回的結果為數組
# 整行值:table.row_values(start,end)
# 整列值:table.col_values(start,end)
# 參數 start 為從第幾個開始列印,
# end為列印到那個位置結束,默認為none
print("整行值:" + str(table.row_values(0)))
print("整列值:" + str(table.col_values(1)))

# 獲取某個單元格的值,例如獲取B3單元格值
cel_B3 = table.cell(3,2).value
print("第三行第二列的值:" + cel_B3)

運行後結果

項目中使用

獲得所有的數據

# coding=utf-8

import xlrd

def read_xlrd(excelFile):
   data = xlrd.open_workbook(excelFile)
   table = data.sheet_by_index(0)

   for rowNum in range(table.nrows):
       rowVale = table.row_values(rowNum)
       for colNum in range(table.ncols):
           if rowNum > 0 and colNum == 0:
               print(int(rowVale[0]))
           else:
               print(rowVale[colNum])
       print("")

   # if判斷是將 id 進行格式化
   # print("未格式化Id的數據:")
   # print(table.cell(1, 0))
   # 結果:number:1001.0


if __name__ == '__main__':
   excelFile = 'file/demo.xlsx'
   read_xlrd(excelFile=excelFile)

結果

如果在項目中使用則可將內容方法稍為做修改,獲得所有的數據後,將每一行數據作為數組進行返回

# coding=utf-8

import xlrd

def read_xlrd(excelFile):
   data = xlrd.open_workbook(excelFile)
   table = data.sheet_by_index(0)
   dataFile = []

   for rowNum in range(table.nrows):
       # if 去掉表頭
       if rowNum > 0:
           dataFile.append(table.row_values(rowNum))

   return dataFile


if __name__ == '__main__':
   excelFile = 'file/demo.xlsx'
   print(read_xlrd(excelFile=excelFile))

結果

testfan一直致力於提高整個測試行業技術實力,近期特推出」大咖解題--公益提升計劃「項目,幫助所有測試從業者走上高端測試之路!

點擊文章底部的閱讀原文:

可報名參加本期解題--7月28日晚上9點「面試常問的幾個Linux命令你真的會用嗎?

掃上圖加安然老師微信可解鎖上期解題視頻,暗號:「規劃接口平臺需要哪些技術

相關焦點

  • Python自動化用這些知識點就夠了!
    這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,這次就來理一理python自動化辦公的那些知識點。下面一一詳解。
  • 講一講我是如何通過Python實現辦公自動化的
    自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,今天我們主要來講講excel、ppt、word自動化的操作技巧。我們需要學習的主要內容有:python基礎;excel自動化;ppt自動化;word自動化。
  • selenium自動化利用excel文件實現批量傳值
    selenium自動化測試的時候,經常會用到數據來做批量測試,常用的方式有讀取txt文件,xml文件,csv文件以及excel文件幾種,本文給大家講解一下在selenium 中如何利用excel文件實現批量傳值,python讀取excel主要用到xlrd庫,此庫可在pycharm手動下載此類庫
  • Python利用openpyxl處理excel文件(openpyxl的安裝及簡介)
    作為一名苦逼的文員,經常同word、excel、ppt打交道,有些工作,比如事務性的,敲幾個文字,做幾個圖表,一般人都應該沒有啥問題,很輕鬆就會搞定。但是在同excel打交道過程中,你會面對一系列公式、紛繁的統計和複雜數據分析,比如這個公式:=IFERROR(TRIM(IF(LEN(VLOOKUP(F7,Sheet3!
  • 【校園雜工】Python腳本處理檔案圖片之完結篇:Python處理Excel
    這是一個系列的文章,這是第三篇,前兩篇的連結如下:【校園雜工】Python腳本處理檔案圖片之一【校園雜工】Python腳本處理檔案圖片之二任務描述給定一個文件夾,其中有大量圖片(沒有子文件夾)需要做的是:圖片處理在前面兩篇文章裡,我們已經學習了用內置庫 os提供的方法遍歷該文件夾下所有的圖片,並利用 pillow模塊提供的類和方法得到所有圖片的縮略圖
  • python生成excel文件的三種方式
    來源:經授權轉自 AI碼科技(ID:eleven_bmw)作者 :臭榴槤在我們做平常工作中都會遇到操作excel,那麼今天寫一篇,如何通過python操作excel當然python操作excel的庫有很多,比如pandas,xlwt/xlrd,openpyxl等,每個庫都有不同的區別,具體的區別,大家一起來看看吧~xlrd是對於Excel進行讀取,xlrd 操作的是
  • 14-用Python 讀寫 Excel 文件
    和R這樣的分析工具了XlsxWriterxlrd&xlwt[2]OpenPyXL[3]Microsoft Excel API[4]介紹可以創建 Excel 2007 或更高版本的 XLSX 文件即 python-excel,含 xlrd、xlwt 和 xlutils 三大模塊,分別提供讀、寫和其他功能可以讀寫 Excel 2007 XLSX 和 XLSM 文件直接通過 COM
  • 基於Python實現對各種數據文件的操作
    常見的數據文件類型如下:txtcsvexcel(xls\xlsx)在線網頁數據pdf\word其他數據軟體格式1 txt文件更多參考:https://docs.python.org/3/tutorial/inputoutput.html
  • python辦公自動化
    文件,第一個文件叫daytable.py,這個文件包含我的日報數據的全部流程,代碼結構如下:# -- 我的日報數據的全部內容# 連結資料庫print("連結資料庫")# 處理數據print("處理數據")# 數據保存print("保存數據")# 數據壓縮
  • 【他山之石】Python和Excel終於可以互通了,自動化辦公實操寶典速來下載!
    前言今天分享我的一位同事在學習了Huang Supreme寫的《Python自動化辦公寶典》之後,如何使用Python快速處理日常工作中的Excel數據表格。本文將以詳細圖表/代碼的形式講解如何對Excel進行讀取、寫入及樣式調整,基本還涵蓋了我們常用的Excel處理數據的方法。
  • n種方式教你用python讀寫excel等數據文件
    點擊上方「濤哥聊Python」,選擇「星標」公眾號重磅乾貨,第一時間送達來源:Python大數據分析python處理數據文件的途徑有很多種,可以操作的文件類型主要包括文本文件(csv、txt、json等)、excel
  • 如何使用Python批量化處理Excel——零基礎入門指南
    Python也是這樣的,它已經有了非常強大和完備的函數庫,我們只需要調用函數,然後修改參數,就可以用Python來處理我們自己的表格,它與Excel的區別無非就是沒有可視化圖形界面而已,你選不中單元格,沒有各種菜單選項給你點,你只能手動敲擊文本,但當你學習明白函數、參數、返回值、變量等概念,你就能像使用excel那樣使用命令行來進行python編程,並驚嘆於其強大。
  • n種方式教你用Python讀寫Excel等數據文件
    下面整理下python有哪些方式可以讀寫數據文件。1. read、readline、readlinesread()  :一次性讀取整個文件內容。推薦使用read(size)方法,size越大運行時間越長readline()  :每次讀取一行內容。
  • 從Excel中解救你!如何用Python實現報表自動化
    通過使用筆者在數據透視表教程中的數據(https://towardsdatascience.com/a-step-by-step-guide-to-pandas-pivot-tables-e0641d0c6c70),概覽一下我們將要自動化到底是什麼。
  • 使用Python將數據保存到Excel文件
    ,Pandas 前面,我們已經學習了如何從Excel文件中讀取數據,參見: 接下來,要知道的另一件重要事情是如何使用Python將數據保存回Excel文件。但是,這並不妨礙我們使用另一種語言來簡化我們的工作 保存數據到Excel文件使用pandas將數據保存到Excel文件也很容易。最簡單的方法如下:df.to_excel(),它將數據框架保存到Excel文件中。
  • 如何快速學會Python處理數據?(5000字走心總結)
    假如你有明確的需求,比如:我要處理很多excel文件,我想寫一個腳本幫我自動處理我每天都在手動審核數據質量,我想寫一個腳本代替我的日常工作當你面對這樣一些需求時,你還無法求助他人幫忙時,這個時候,你就必須學習Python來幫你處理了。
  • 34個Python自動化辦公庫
    3.xlrd 庫官網:https://pypi.python.org/pypi/xlrd特點:在 python 中,xlrd 庫是一個很常用的讀取 excel 文件的庫,其對 excel 文件的讀取可以實現比較精細的控制。
  • 詳解Python操作Excel文件
    前言本篇文章主要總結了一下利用python操作Excel文件的第三方庫和方法。常見庫簡介1.xlrdxlrd是一個從Excel文件讀取數據和格式化信息的庫,支持.xls以及.xlsx文件。寫入大.xlsx文件時使用內存優化模式。7.win32comwin32com庫存在於pywin32中,是一個讀寫和處理Excel文件的庫。地址:http://pythonexcels.com/python-excel-mini-cookbook/8.DataNitroDataNitro是一個內嵌在Excel中的插件。
  • Python自動化測試—使用Pandas來高效處理測試數據
    JSON格式的文件6) 資料庫操作  通過面試題引出主題,讀者可以思考,如果你遇到這題,該如何解答呢?git clone git://github.com/pydata/pandas.gitcd pandaspython setup.py install  案例中的lemon_cases.xlsx文件內容如下所示:import pandas as pd# 讀excel文件# 返回一個DataFrame對象,多維數據結構
  • Python對CSV文件的處理
    在接口自動化測試中,把測試的數據存儲到csv的文件也是一種很不錯的選擇,下面就詳細的介紹如何實現CSV文件內容的讀取和如何把數據寫入到