下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Python自動操作Excel文件的方法詳解目錄工具讀取Excel文件內(nèi)容寫入Excel文件內(nèi)容Excel文件樣式調(diào)整設(shè)置表頭的位置設(shè)置單元格的寬高總結(jié)
工具
python3.7
Pycharm
Excel
xlwtxlrd
讀取Excel文件內(nèi)容
當(dāng)前文件夾下有一個名為股票數(shù)據(jù).xlsx的Excel文件,可以按照下列代碼方式來操作它。
importxlrd
#使用xlrd模塊的open_workbook函數(shù)打開指定Excel文件并獲得Book對象(工作簿)
wb=xlrd.open_workbook('股票數(shù)據(jù).xlsx')
#通過Book對象的sheet_names方法可以獲取所有表單名稱
sheetname=wb.sheet_names()[0]
#通過指定的表單名稱獲取Sheet對象(工作表)
sheet=wb.sheet_by_name(sheetname)
#通過Sheet對象的nrows和ncols屬性獲取表單的行數(shù)和列數(shù)
print(sheet.nrows,sheet.ncols)
forrowinrange(sheet.nrows):
forcolinrange(sheet.ncols):
#通過Sheet對象的cell方法獲取指定Cell對象(單元格)
#通過Cell對象的value屬性獲取單元格中的值
value=sheet.cell(row,col).value
#對除首行外的其他行進(jìn)行數(shù)據(jù)格式化處理
ifrow0:
#第1列的xldate類型先轉(zhuǎn)成元組再格式化為“年月日”的格式
ifcol==0:
#xldate_as_tuple函數(shù)的第二個參數(shù)只有0和1兩個取值
#其中0代表以1900-01-01為基準(zhǔn)的日期,1代表以1904-01-01為基準(zhǔn)的日期
value=xlrd.xldate_as_tuple(value,0)
value=f'{value[0]}年{value[1]:02d}月{value[2]:02d}日'
#其他列的number類型處理成小數(shù)點(diǎn)后保留兩位有效數(shù)字的浮點(diǎn)數(shù)
else:
value=f'{value:.2f}'
print(value,end='\t')
print()
#獲取最后一個單元格的數(shù)據(jù)類型
#0-空值,1-字符串,2-數(shù)字,3-日期,4-布爾,5-錯誤
last_cell_type=sheet.cell_type(sheet.nrows-1,sheet.ncols-1)
print(last_cell_type)
#獲取第一行的值(列表)
print(sheet.row_values(0))
#獲取指定行指定列范圍的數(shù)據(jù)(列表)
#第一個參數(shù)代表行索引,第二個和第三個參數(shù)代表列的開始(含)和結(jié)束(不含)索引
print(sheet.row_slice(3,0,5))
寫入Excel文件內(nèi)容
Excel文件寫入可以通過xlwt模塊的Workbook類創(chuàng)建工作簿對象,通過工作簿對象的add_sheet方法可以添加工作表,通過工作表對象的write方法可以向指定單元格中寫入數(shù)據(jù),最后通過工作簿對象的save方法將工作簿寫入到指定的文件或內(nèi)存中。下面代碼操作了一個學(xué)員成績表的寫入。
importrandom
importxlwt
student_names=['關(guān)羽','張飛','趙云','馬超','黃忠']
scores=[[random.randint(40,100)for_inrange(3)]for_inrange(5)]
#創(chuàng)建工作簿對象(Workbook)
wb=xlwt.Workbook()
#創(chuàng)建工作表對象(Worksheet)
sheet=wb.add_sheet('一年級二班')
#添加表頭數(shù)據(jù)
titles=('姓名','語文','數(shù)學(xué)','英語')
forindex,titleinenumerate(titles):
sheet.write(0,index,title)
#將學(xué)生姓名和考試成績寫入單元格
forrowinrange(len(scores)):
sheet.write(row+1,0,student_names[row])
forcolinrange(len(scores[row])):
sheet.write(row+1,col+1,scores[row][col])
#保存Excel工作簿
wb.save('考試成績表.xlsx')
Excel文件樣式調(diào)整
還可以通過XFStyle對象來設(shè)置單元格的不同樣式。主要包括字體(Font)、對齊方式(Alignment)、邊框(Border)和背景(Background)的設(shè)置。
header_style=xlwt.XFStyle()
pattern=xlwt.Pattern()
pattern.pattern=xlwt.Pattern.SOLID_PATTERN
#0-黑色、1-白色、2-紅色、3-綠色、4-藍(lán)色、5-黃色、6-粉色、7-青色
pattern.pattern_fore_colour=5
header_style.pattern=pattern
titles=('姓名','語文','數(shù)學(xué)','英語')
forindex,titleinenumerate(titles):
sheet.write(0,index,title,header_style)
設(shè)置表頭的位置
align=xlwt.Alignment()
#垂直方向的對齊方式
align.vert=xlwt.Alignment.VERT_CENTER
#水平方向的對齊方式
align.horz=xlwt.Alignment.HORZ_CENTER
header_style.alignment=align
設(shè)置單元格的寬高
#設(shè)置行高為40px
sheet.row(0).set_style(xlwt.easyxf(f'font:height{20*40}'))
titles=('姓名','語文','數(shù)學(xué)','英語')
forindex,titleinenumerate(titles):
#設(shè)置列寬為200px
sheet.col(index).width=20*200
#設(shè)置單元格的數(shù)據(jù)和樣式
sheet.write(0,index,title,header_style)
總結(jié)
其他操作Excel文件的三方庫(如openpyxl)大家有興趣可以自行了解。掌握了Python程序操作Excel的方法,可以解決日常辦公中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 前端開發(fā)技術(shù)趨勢與應(yīng)用
- 2026年軟件系統(tǒng)崩潰應(yīng)急恢復(fù)操作測試題
- 2026年建筑設(shè)計(jì)師專業(yè)知識題綠色建筑與可持續(xù)發(fā)展實(shí)踐題
- 2026年中醫(yī)藥學(xué)基礎(chǔ)與臨床應(yīng)用中醫(yī)知識題庫
- 2026年網(wǎng)絡(luò)安全知識企業(yè)員工必修考核題
- 2026年職場能力提升專業(yè)知識測試題集
- 2026年智能語音助手功能測試題庫
- 2026年大數(shù)據(jù)項(xiàng)目管理專家面試預(yù)測模擬題
- 2026年電力工程L3工程師技能考核試題及答案詳解
- 2026年軟件測試工程師專業(yè)題庫鴻蒙系統(tǒng)測試技術(shù)要點(diǎn)
- 安全目標(biāo)管理制度煤廠(3篇)
- 云南省玉溪市2025-2026學(xué)年八年級上學(xué)期1月期末物理試題(原卷版+解析版)
- 車輛駕駛員崗前培訓(xùn)制度
- 2026年哈爾濱通河縣第一批公益性崗位招聘62人考試參考試題及答案解析
- 就業(yè)協(xié)議書解約函模板
- 頭部護(hù)理與頭皮健康維護(hù)
- 2026年山東城市服務(wù)職業(yè)學(xué)院單招職業(yè)技能考試題庫附答案詳解
- 研發(fā)部門員工加班管理細(xì)則
- 友達(dá)光電(昆山)有限公司第一階段建設(shè)項(xiàng)目環(huán)?!叭瑫r”執(zhí)行情況報告
- 光學(xué)下擺拋光技術(shù)培訓(xùn)教材
- LY/T 2456-2015桉樹豐產(chǎn)林經(jīng)營技術(shù)規(guī)程
評論
0/150
提交評論