




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)目錄一、Python操作Excel7大庫(kù)對(duì)比二、xlrd讀取excel操作1.打開(kāi)文件2.獲取所有表名3.指定sheet表4.對(duì)sheet表的行操作5.對(duì)sheet表的列操作三、xlwt寫入Excel表操作1.寫入單個(gè)數(shù)據(jù)2.寫入多個(gè)數(shù)據(jù)3.設(shè)置列寬4.設(shè)置行高5.設(shè)置單元格風(fēng)格
一、Python操作Excel7大庫(kù)對(duì)比
Excel是Windows環(huán)境下流行的、強(qiáng)大的電子表格應(yīng)用。無(wú)論是在工作中還是學(xué)習(xí)中我們都幾乎在不間斷的使用Excel來(lái)記錄或者處理一些數(shù)據(jù)。例如,可能有-個(gè)無(wú)聊的任務(wù),需要從一個(gè)電子表格拷貝一些數(shù)據(jù),粘貼到另一個(gè)電子表格中?;蛘呖赡苄枰獜膸浊兄刑暨x幾行,根據(jù)某種條件稍作修改?;蛘咝枰榭磶装俜莶块T預(yù)算電子表格,尋找其中的指定內(nèi)容。正是這種無(wú)聊無(wú)腦的電子表格任務(wù),如果讓人工來(lái)手動(dòng)完成,則無(wú)論是時(shí)間升本還是精力成本都不是一件好事情,但是可以通過(guò)Python來(lái)完成。
7大庫(kù)功能對(duì)比圖如下(本文主要介紹:xlrd和xlwt):
二、xlrd讀取excel操作
xlrd模塊用于讀取Excel的數(shù)據(jù),速度非???。支持.xls和.xlsx兩種文件格式的讀取
1.cmd控制臺(tái)安裝模塊:
pipinstallxlrd
2.導(dǎo)入模塊:
importxlrd
測(cè)試表如下:
1.打開(kāi)文件
xlrd.open_workbook(path)
wb=xlrd.open_workbook("./a.xls")
print(wb)
運(yùn)行結(jié)果:
xlrd.book.Bookobjectat0x000001F905A33DC0
2.獲取所有表名
wb.sheet_names()
sheet_names_list=wb.sheet_names()
print(sheet_names_list)
運(yùn)行結(jié)果:
[Sheet1,Sheet2,Sheet3]
3.指定sheet表
wb.sheet_by_index(索引)orwb.sheet_by_name(sheet表名)
#方式1:索引順序獲取
sheet_1=wb.sheet_by_index(0)
#方式2:名稱獲取
sheet_2=wb.sheet_by_name("Sheet1")
4.對(duì)sheet表的行操作
1.獲取sheet表總函數(shù):sheet.nrows
2.返回由該行中所有的單元格對(duì)象組成的列表,列表內(nèi)是鍵值對(duì):sheet.row(1),如:[列名1:值,列名2:值,...]或者sheet.row_slice(1)
3.返回指定行的所有單元格數(shù)值組成的列表:sheet.row_values(rowx,start_colx=0,end_colx=None),如:[值1,值2,...]
4.返回指定行的有效長(zhǎng)度:sheet.row_len(rowx)
#1.獲取sheet表總函數(shù):sheet.nrows
print("總行數(shù)為:",sheet_1.nrows)
#2.返回由該行中所有的單元格對(duì)象組成的列表,列表內(nèi)是鍵值對(duì):sheet.row(1)
print(sheet_1.row(1))
#或者sheet.row_slice(1)
print(sheet_1.row_slice(1))
#3.返回指定行的所有單元格數(shù)值組成的列表:sheet.row_values(rowx,start_colx=0,end_colx=None)
print(sheet_1.row_values(1))
#4.返回指定行的有效長(zhǎng)度:sheet.row_len(rowx)
print("返回指定行的有效長(zhǎng)度:",sheet_1.row_len(1))
print('-'*20)
#5.讀取整個(gè)表
foriinrange(sheet_1.nrows):
print(sheet_1.row_values(i))
運(yùn)行結(jié)果:
總行數(shù)為:4
[text:物品1,empty:,number:100.0,text:EUR0.1,text:EUR0.1]
[text:物品1,empty:,number:100.0,text:EUR0.1,text:EUR0.1]
[物品1,,100.0,EUR0.1,EUR0.1]
返回指定行的有效長(zhǎng)度:5
--------------------
[item,b,PCS,UNIT,TOTAL]
[物品1,,100.0,EUR0.1,EUR0.1]
[物品2,,100.0,EUR0.1,EUR0.1]
[物品3,,200.0,EUR0.2,EUR0.2]
5.對(duì)sheet表的列操作
1.返回指定sheet表的有效列數(shù):sheet.ncols
2.返回由該列中所有的單元格對(duì)象組成的列表,列表內(nèi)是鍵值對(duì):sheet.col(1),如:[列名1:值,列名2:值,...]或者sheet.col_slice(1)
3.返回指定列的所有單元格數(shù)值組成的列表:sheet.col_values(colx,start_colx=0,end_colx=None),如:[列名,值1,值2,...]
#1.返回指定sheet表的有效列數(shù):sheet.ncols
print("總列數(shù)為:",sheet_1.ncols)
#2.返回由該列中所有的單元格對(duì)象組成的列表,列表內(nèi)是鍵值對(duì):sheet.col(1)
print(sheet_1.col(1))
#或者sheet.col_slice(1)
print(sheet_1.col_slice(1))
#3.返回指定列的所有單元格數(shù)值組成的列表:sheet.col_values(colx,start_colx=0,end_colx=None)
print(sheet_1.col_values(0))#帶列名
print(sheet_1.col_values(0,1))#不帶列名
print('-'*20)
#4.讀取全部表
foriinrange(sheet_1.ncols):
print(sheet_1.col_values(i))
運(yùn)行結(jié)果:
總列數(shù)為:5
[text:b,empty:,empty:,empty:]
[text:b,empty:,empty:,empty:]
[item,物品1,物品2,物品3]
[物品1,物品2,物品3]
--------------------
[item,物品1,物品2,物品3]
[b,,,]
[PCS,100.0,100.0,200.0]
[UNIT,EUR0.1,EUR0.1,EUR0.2]
[TOTAL,EUR0.1,EUR0.1,EUR0.2]
三、xlwt寫入Excel表操作
xlwt模塊可以將數(shù)據(jù)寫入到Excel工作簿中。目前已支持寫入.xls和.xlsx兩種文件格式
1.cmd控制臺(tái)安裝模塊:
pipinstallxlwt
2.導(dǎo)入模塊:
importxlwt
1.寫入單個(gè)數(shù)據(jù)
1.創(chuàng)建Excel表對(duì)象:xlwt.Workbook(encoding=utf8)
2.新建sheet表:worksheet=workbook.add_sheet(Sheet1)
3.寫入數(shù)據(jù)到指定單元格:worksheet.write(0,0,python)。第一個(gè)參數(shù)是第i行,第二個(gè)是第j列,第三個(gè)是要寫的參數(shù)(字符串或數(shù)字)
4.保存文件:workbook.save(test.xlsx)。目前已支持寫入.xls和.xlsx兩種文件格式
測(cè)試代碼:
importxlwt
#1.創(chuàng)建Excel表對(duì)象
workbook=xlwt.Workbook(encoding='utf8')
#2.新建sheet表
worksheet=workbook.add_sheet('Sheet1')
#3.寫入數(shù)據(jù)到指定單元格
worksheet.write(0,0,"python")
#4.保存文件分兩種格式
workbook.save('test.xls')
workbook.save('test.xlsx')
運(yùn)行結(jié)果如下:生成兩個(gè)新文件
2.寫入多個(gè)數(shù)據(jù)
測(cè)試代碼:
importxlwt
data_list=[('小白','20','男'),('小黑','21','男'),('小紅','20','女')]
#1.創(chuàng)建Excel表對(duì)象
workbook=xlwt.Workbook(encoding='utf8')
#2.新建sheet表
worksheet=workbook.add_sheet('Sheet1')
#3.自定義列名
col1=('姓名','年齡','性別')
#4.將列屬性元組col寫進(jìn)sheet表單中第一行
foriinrange(0,len(col1)):
worksheet.write(0,i,col1[i])
#5.將數(shù)據(jù)寫進(jìn)sheet表單中
foriinrange(0,len(data_list)):
data=data_list[i]
forjinrange(0,len(col1)):
worksheet.write(i+1,j,data[j])
#6.保存文件分兩種格式
workbook.save('test.xls')
運(yùn)行結(jié)果:
3.設(shè)置列寬
cols_num是列的數(shù)目,可以通過(guò)修改12這個(gè)值,修改列的寬度
forcinrange(len(col1)):
worksheet.col(c).width=256*24
運(yùn)行結(jié)果:
4.設(shè)置行高
設(shè)置行高,修改1600為別的值,可以修改行的高度
測(cè)試代碼:
#5.將數(shù)據(jù)寫進(jìn)sheet表單中
foriinrange(0,len(data_list)):
data=data_list[i]
forjinrange(0,len(col1)):
worksheet.write(i+1,j,data[j])
#6.設(shè)置行高
worksheet.row(i+1).height_mismatch=True
worksheet.row(i+1).height=1600#設(shè)置行高
運(yùn)行結(jié)果:
5.設(shè)置單元格風(fēng)格
常用設(shè)置單元格的屬性:
樣式說(shuō)明xlwt.Font()字體設(shè)置xlwt.Pattern()背景設(shè)置xlwt.Borders()邊框設(shè)置xlwt.Alignment()對(duì)準(zhǔn)設(shè)置
測(cè)試代碼:
defbody_style():
#一、創(chuàng)建一個(gè)樣式對(duì)象,初始化樣式style
style=xlwt.XFStyle()#CreateStyle對(duì)象
#二、字體風(fēng)格設(shè)置
font=xlwt.Font()#CreateFont對(duì)象
="SimSun"#設(shè)置字體類型,宋體
font.colour_index=4#設(shè)置字體顏色
font.height=20*12#字體大小,12為字號(hào),20為衡量單位
font.bont=True#設(shè)置字體加粗
font.underline=True#下劃線
font.italic=True#斜體字
#二、背景設(shè)置
pattern=xlwt.Pattern()
pattern.pattern=xlwt.Pattern.SOLID_PATTERN#Maybe:NO_PATTERN,SOLID_PATTERN,or0x00through0x12
pattern.pattern_fore_colour=4#給背景顏色賦值
#三、邊框設(shè)置
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶海聯(lián)職業(yè)技術(shù)學(xué)院《中國(guó)現(xiàn)當(dāng)代文學(xué)作品》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西工程職業(yè)學(xué)院《制藥分離工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 桂林學(xué)院《新?tīng)I(yíng)銷概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西學(xué)前師范學(xué)院《數(shù)字孿生與智能設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶信息技術(shù)職業(yè)學(xué)院《員工招聘與測(cè)評(píng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安思源學(xué)院《企業(yè)價(jià)值創(chuàng)造實(shí)戰(zhàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 開(kāi)封職業(yè)學(xué)院《人工智能與信息社會(huì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 畢節(jié)醫(yī)學(xué)高等??茖W(xué)?!稒C(jī)器學(xué)習(xí)與人工智能導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京林業(yè)大學(xué)《葡萄酒與西方文化網(wǎng)絡(luò)》2023-2024學(xué)年第二學(xué)期期末試卷
- 華東理工大學(xué)《教育基礎(chǔ)理論教育學(xué)理論教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 測(cè)繪地理信息從業(yè)人員保密知識(shí)培訓(xùn)
- 《智慧化工園區(qū)系統(tǒng)運(yùn)維管理要求》
- 第3章通風(fēng)空調(diào)工程3.1通風(fēng)工程3.2空調(diào)工程57課件講解
- 公益事業(yè)對(duì)外捐贈(zèng)管理辦法
- 拓?fù)浯朋w研究-洞察分析
- 2025年江蘇南京林業(yè)大學(xué)招聘專職輔導(dǎo)員15人(第二批)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年濟(jì)南鐵路局招聘筆試參考題庫(kù)含答案解析
- 藥品養(yǎng)護(hù)管理制度
- 《西方經(jīng)濟(jì)學(xué)(本)》形考任務(wù)(1-6)試題答案解析
- 產(chǎn)后出血介入手術(shù)護(hù)理
- 《消防應(yīng)急疏散培訓(xùn)》課件
評(píng)論
0/150
提交評(píng)論