使用場景是在包含使用者資訊的Excel表格中,分為姓名,住址,聯絡方式等列,通過批量輸入姓名,篩選姓名列,生成只包含所查詢人員的資訊表。
使用xlrd庫讀取excel
xlrd,作為python第三方庫,可以從excel電子表格中檢索資訊。
通俗點講,你可以用python讀取excel檔案裡的任何資料。
我們新建一個excel表格用於案例講解:
首先,安裝xlrd庫(記得在命令列輸入哦)
pip install xlrd
匯入xlrd庫
import xlrd
讀取excel檔案,即剛剛建立的excel表格
# 給出excel檔案絕對路徑
loc = ("path of file")
# 開啟工作表
wb = xlrd.open_workbook(loc)
# 這裡讀取的是第一個sheet
sheet = wb.sheet_by_index(0)
列印excel表格第一行第一列
>>> print(sheet.cell_value(0, 0) )
"NAME"
看看這個資料表有幾行幾列
>>> print(sheet.nrows) # 行數
4
>>> print(sheet.ncols) # 列數
3
列印所有的列標籤
>>> for i in range(sheet.ncols):
print(sheet.cell_value(0, i))
NAME
SEMESTER
ROLL NO
列印所有的行標籤
>>> for i in range(sheet.nrows):
print(sheet.cell_value(i, 0))
ALEX
CLAY
JUSTIN
列印第一行內容
>>> print(sheet.row_values(1))
["ALEX", 4.0, 2011272.0]
對excel進行寫入,需要用到python的另一個第三方庫-xlwt
xlwt能夠對excel檔案進行寫入和修改,你可以設定條件檢索資料並修改,很方便的重複大量工作。
安裝方法依舊是pip
pip install xlwt
匯入xlwt
import xlwt
from xlwt import Workbook
向excel中寫入資料
# 建立workbook
wb = Workbook()
# 使用add_sheet函式建立新的sheet
sheet1 = wb.add_sheet("Sheet 1")
# 寫入資料,引數分別為行、列、資料
sheet1.write(1, 0, "ISBT DEHRADUN")
sheet1.write(2, 0, "SHASTRADHARA")
sheet1.write(3, 0, "CLEMEN TOWN")
sheet1.write(4, 0, "RAJPUR ROAD")
sheet1.write(5, 0, "CLOCK TOWER")
sheet1.write(0, 1, "ISBT DEHRADUN")
sheet1.write(0, 2, "SHASTRADHARA")
sheet1.write(0, 3, "CLEMEN TOWN")
sheet1.write(0, 4, "RAJPUR ROAD")
sheet1.write(0, 5, "CLOCK TOWER")
# 儲存到excel表格
wb.save("xlwt example.xls")
看一下生成的excel吧!
如何給excel中的單元格內容新增格式呢?比如說我想加粗、標紅
# 先匯入xlrt庫
workbook = xlwt.Workbook()
# 建立sheet
sheet = workbook.add_sheet("Sheet Name")
# 給單元格內容新增格式:加粗、標紅
style = xlwt.easyxf("font: bold 1,color: red")
# 在單元格中寫入資料
sheet.write(0, 0, "SAMPLE", style)
# 儲存excel
workbook.save("sample.xls")
看看結果吧!
使用xlrd庫讀取excel
xlrd,作為python第三方庫,可以從excel電子表格中檢索資訊。
通俗點講,你可以用python讀取excel檔案裡的任何資料。
我們新建一個excel表格用於案例講解:
首先,安裝xlrd庫(記得在命令列輸入哦)
pip install xlrd
匯入xlrd庫
import xlrd
讀取excel檔案,即剛剛建立的excel表格
# 給出excel檔案絕對路徑
loc = ("path of file")
# 開啟工作表
wb = xlrd.open_workbook(loc)
# 這裡讀取的是第一個sheet
sheet = wb.sheet_by_index(0)
列印excel表格第一行第一列
>>> print(sheet.cell_value(0, 0) )
"NAME"
看看這個資料表有幾行幾列
>>> print(sheet.nrows) # 行數
4
>>> print(sheet.ncols) # 列數
3
列印所有的列標籤
>>> for i in range(sheet.ncols):
print(sheet.cell_value(0, i))
NAME
SEMESTER
ROLL NO
列印所有的行標籤
>>> for i in range(sheet.nrows):
print(sheet.cell_value(i, 0))
NAME
ALEX
CLAY
JUSTIN
列印第一行內容
>>> print(sheet.row_values(1))
["ALEX", 4.0, 2011272.0]
使用xlwt寫入excel對excel進行寫入,需要用到python的另一個第三方庫-xlwt
xlwt能夠對excel檔案進行寫入和修改,你可以設定條件檢索資料並修改,很方便的重複大量工作。
安裝方法依舊是pip
pip install xlwt
匯入xlwt
import xlwt
from xlwt import Workbook
向excel中寫入資料
# 建立workbook
wb = Workbook()
# 使用add_sheet函式建立新的sheet
sheet1 = wb.add_sheet("Sheet 1")
# 寫入資料,引數分別為行、列、資料
sheet1.write(1, 0, "ISBT DEHRADUN")
sheet1.write(2, 0, "SHASTRADHARA")
sheet1.write(3, 0, "CLEMEN TOWN")
sheet1.write(4, 0, "RAJPUR ROAD")
sheet1.write(5, 0, "CLOCK TOWER")
sheet1.write(0, 1, "ISBT DEHRADUN")
sheet1.write(0, 2, "SHASTRADHARA")
sheet1.write(0, 3, "CLEMEN TOWN")
sheet1.write(0, 4, "RAJPUR ROAD")
sheet1.write(0, 5, "CLOCK TOWER")
# 儲存到excel表格
wb.save("xlwt example.xls")
看一下生成的excel吧!
如何給excel中的單元格內容新增格式呢?比如說我想加粗、標紅
# 先匯入xlrt庫
import xlwt
# 建立workbook
workbook = xlwt.Workbook()
# 建立sheet
sheet = workbook.add_sheet("Sheet Name")
# 給單元格內容新增格式:加粗、標紅
style = xlwt.easyxf("font: bold 1,color: red")
# 在單元格中寫入資料
sheet.write(0, 0, "SAMPLE", style)
# 儲存excel
workbook.save("sample.xls")
看看結果吧!