通過 Python 查詢 Excel 資料

2021-10-06 23:53:10 字數 2726 閱讀 1703

我有乙個記錄學生資訊的 excel **,我想通過學生的姓名或者學號查詢學生的資訊。

學生資訊如下

姓名學號

性別年齡

身份證號碼

期末總成績

張三hy1231男18

12345678900

98李四

hy1232男18

52364178932

95王二

hy1233男17

25413629078

87小明

hy1234男18

85697412301

76小張

hy1235男17

58321469710

85檔名稱:info.xlsx

該示例將使用到第三方的庫,所以需要先使用 pip 安裝第三方的庫:

c:\users\administrator>pip install xlrd

collecting xlrd

downloading xlrd-1.2.0-py2.py3-none-any.whl (103 kb)

|████████████████████████████████| 103 kb 43 kb/s

installing collected packages: xlrd

successfully installed xlrd-1.2.0

**如下:

import xlrd    

file

="info.xlsx"

name =

input

("pleas enter name:"

)workbook = xlrd.open_workbook(

file

)table = workbook.sheet_by_name(

"sheet1"

)# table = workbook.sheet_by_index(0)

length = table.nrows

for i in

range

(length)

: row = table.row_values(i)

if name in row[0]

:print

(row[0:

6])

**說明:

import xlrd
匯入第三方庫,對於 excel 的操作,我們需要使用到第三方的庫,python 中對於 excel 的操作,主要用到兩個模組,xlrd 和 xlwt,xlrd 用於讀取 excel 內容,xlwt 用於寫入內容到 excel 中。

file

="info.xlsx"

name =

input

("pleas enter name:"

)

為了方便,我們習慣將物件賦予給乙個變數,方便以後使用。在以後使用時,只需要輸入變數名就可以了。我這裡的檔案,只寫了檔名,因為我把 excel 檔案,和 python 檔案放在同乙個路徑上了,如果你的 excel 檔案和 python 不在同乙個目錄,你需要在賦值時加上具體的路徑。

name,是你查詢的物件,你將通過 name 查詢 name 對應的資訊。input() 用於接受使用者的輸入。

workbook = xlrd.open_workbook(

file

)table = workbook.sheet_by_name(

"sheet1"

)# table = workbook.sheet_by_index(0)

使用 xlrd.open_workbook() 開啟 excel 檔案,並將它賦值給 workbook.

使用 .sheet_by_name() 獲取 excel 檔案中的**內容,在括號中指定**名稱。乙個 excel 中可以有多個**。**名稱在 excel 檔案的左下方。

你也可以使用 .sheet_by_index() 通過索引的方式獲取**內容

length = table.nrows

for i in

range

(length)

: row = table.row_values(i)

if name in row[0]

:print

(row[0:

6])

使用 .nrows 獲取**的行數,並賦值給 length,你也可以使用 .ncols 獲取列的數量。

使用 for 迴圈每一行。

通過 if 判斷,如果你輸入的 name 在某一行中,那麼就列印這一行的的內容。

遍歷每一行的內容,會將每作為乙個列表賦值給 row,所以判斷的時候,使用了 row[0],0 表示 name 的索引。

然後我們通過對該列表切片,獲取我們想要的內容,我們想要的是整個一行,所以使用了 row[0:6],其實這裡也可以使用 print(row)。

這是該**的結果(pycharm):

"c:\program files\python38\python.exe" c:/test/excel.py

pleas enter name:李四

['李四', 'hy1232', '男', 18.0, 52364178932.0, 95.0]

process finished with exit code 0

通過python讀取excel寫入mysql

import pymysql import xlrd import sys from xlrd import xldate as datetime excel檔案的路徑 excel path sys.ar 1 host sys.ar 2 user sys.ar 3 password sys.ar 4...

通過ajax上傳excel

html 上 傳 匯入格式 xls js 匯入檔案 function importexp success function responsestr else controller service 寫入 param is public string writeexeldata inputstream ...

Python自動化 資料驅動(通過Excel)

1 python資料驅動,需要匯入python第三方包,進行對行和列的讀取,存入python可以使用的資料型別 如list,dict 具體 示例如下 from openpyxl import load workbook class parseexcel def init self,excelpath...