Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)_第1頁(yè)
Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)_第2頁(yè)
Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)_第3頁(yè)
Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)_第4頁(yè)
Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論