python中使用 xlwt 操作excel的常見方法與問題
前言
Python可以操作Excel的模塊不止一種,我習(xí)慣使用的寫入模塊是xlwt(一般都是讀寫模塊分開的)
python中使用xlwt操作excel非常方,和Java使用調(diào)框架apache poi相比這就是天堂啊,下面話不多說了,來一起看看詳細(xì)的介紹吧
一.安裝xlwt模塊
pip3 install xlwt
二.簡(jiǎn)單使用xlwt
import xlwt #導(dǎo)入模塊 workbook = xlwt.Workbook(encoding='utf-8') #創(chuàng)建workbook 對(duì)象 worksheet = workbook.add_sheet('sheet1') #創(chuàng)建工作表sheet worksheet.write(0, 0, 'hello') #往表中寫內(nèi)容,第一各參數(shù) 行,第二個(gè)參數(shù)列,第三個(gè)參數(shù)內(nèi)容 workbook.save('students.xls') #保存表為students.xls #在Java中使用poi操作excel 在創(chuàng)建workbook對(duì)象的時(shí)候就需要寫好表名,創(chuàng)建workbook對(duì)象完成后 #這個(gè)表就已經(jīng)存在,但是使用xlwt 需要在最后調(diào)用保存的時(shí)候?yàn)楸砻?并且只有調(diào)入save方法后才會(huì)#創(chuàng)建表
三.為內(nèi)容設(shè)置style
workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') #設(shè)置字體樣式 font = xlwt.Font() #字體 font.name = 'Time New Roman' #加粗 font.bold = True #下劃線 font.underline = True #斜體 font.italic = True #創(chuàng)建style style = xlwt.XFStyle() style.font = font #根據(jù)樣式創(chuàng)建workbook worksheet.write(0, 1, 'world', style) workbook.save('students.xls')
四.合并單元格
使用xlwt 合并單元格時(shí)不用像poi通過style來設(shè)置,直接創(chuàng)建和并單元格就可以,
workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') #通過worksheet調(diào)用merge()創(chuàng)建合并單元格 #第一個(gè)和第二個(gè)參數(shù)單表行合并,第三個(gè)和第四個(gè)參數(shù)列合并, #合并第0列到第2列的單元格 worksheet.write_merge(0, 0, 0, 2, 'first merge') #合并第1行第2行第一列的單元格 worksheet.write_merge(0, 1, 0, 0, 'first merge') workbook.save('students.xls')
如果需要了解具體調(diào)合并單元格規(guī)則就自己試著合并,查看合并效果.才能清晰明了
五.設(shè)置單元格的對(duì)齊方式
workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') alignment = xlwt.Alignment() # 水平居中 alignment.horz = xlwt.Alignment.HORZ_CENTER # 垂直居中 alignment.vert = xlwt.Alignment.VERT_CENTER style = xlwt.XFStyle() style.alignment = alignment #設(shè)置單元格寬度 worksheet.col(0).width = 6666 #設(shè)置單元格的高度 worksheet.row(0).height_mismatch = True worksheet.row(0).height = 1000 worksheet.write(0, 0, 'hello world', style) workbook.save('center.xls')
六.設(shè)置單元格調(diào)邊框
workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') border = xlwt.Borders() # DASHED虛線 # NO_LINE沒有 # THIN實(shí)線 border.left = xlwt.Borders.THIN # 設(shè)置顏色 border.left_coloure = 0x40b border.right = xlwt.Borders.THIN border.right_colour = 0x40b border.top = xlwt.Borders.THIN border.top_colour = 0x40b border.bottom = xlwt.Borders.THIN border.bottom_colour = 0x40b style = xlwt.XFStyle() style.borders = border worksheet.write(0, 0, 'love', style) workbook.save('dashed.xls')
七.設(shè)置單元格邊框
workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') border = xlwt.Borders() # DASHED虛線 # NO_LINE沒有 # THIN實(shí)線 border.left = xlwt.Borders.THIN border.right = xlwt.Borders.THIN border.top = xlwt.Borders.THIN border.bottom = xlwt.Borders.THIN style = xlwt.XFStyle() style.borders = border worksheet.write(1, 1, 'love', style) workbook.save('dashed.xls')
八.設(shè)置單元格背景色
workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') pattern = xlwt.Pattern() pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 8 through 63 # 0 = Black, 1 = White, # 2 = Red, 3 = Green, 4 = Blue, # 5 = Yellow, 6 = Magenta, 7 = Cyan, # 16 = Maroon, 17 = Dark Green, # 18 = Dark Blue, 19 = Dark Yellow , # almost brown), 20 = Dark Magenta, # 21 = Teal, 22 = Light Gray, # 23 = Dark Gray, the list goes on... pattern.pattern_fore_colour = 3 style = xlwt.XFStyle() style.pattern = pattern worksheet.write(1, 1, 'shit', style) workbook.save('shit.xls')
九.設(shè)置字體顏色
workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') font = xlwt.Font() # 設(shè)置字體為紅色 font.colour_index=xlwt.Style.colour_map['red'] style = xlwt.XFStyle() style.font = font worksheet.write(0, 1, 'world', style) workbook.save('students.xls')
遇到的問題:
1.PermissionError: [Errno 13] Permission denied: 'dashed.xls'
原因:測(cè)試寫入調(diào)時(shí)候文件被打開了,無法寫入,關(guān)閉文件后再寫入就ok了
2.TypeError: 'module' object is not callable
創(chuàng)建style的時(shí)候調(diào)錯(cuò)對(duì)象將
style = xlwt.Style()
改為
style = xlwt.XFStyle()
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- python中使用xlrd、xlwt操作excel表格詳解
- Python使用xlwt模塊操作Excel的方法詳解
- Python xlwt設(shè)置excel單元格字體及格式
- Python第三方庫xlrd/xlwt的安裝與讀寫Excel表格
- python使用xlrd與xlwt對(duì)excel的讀寫和格式設(shè)定
- 使用Python和xlwt向Excel文件中寫入中文的實(shí)例
- python使用xlrd和xlwt讀寫Excel文件的實(shí)例代碼
- Python操作excel的方法總結(jié)(xlrd、xlwt、openpyxl)
- Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù)
- 利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表實(shí)例代碼
相關(guān)文章
Python實(shí)現(xiàn)基于KNN算法的筆跡識(shí)別功能詳解
這篇文章主要介紹了Python實(shí)現(xiàn)基于KNN算法的筆跡識(shí)別功能,結(jié)合實(shí)例形式詳細(xì)分析了使用KNN算法進(jìn)行筆跡識(shí)別的相關(guān)庫引入、操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-07-07Python自動(dòng)調(diào)用IE打開某個(gè)網(wǎng)站的方法
這篇文章主要介紹了Python自動(dòng)調(diào)用IE打開某個(gè)網(wǎng)站的方法,涉及Python調(diào)用系統(tǒng)win32組件的相關(guān)技巧,需要的朋友可以參考下2015-06-06Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)
今天要給大家介紹的是Python基礎(chǔ)實(shí)戰(zhàn),本文主要以舉例說明講解:?jiǎn)栴}的關(guān)鍵點(diǎn)就是在于構(gòu)造姓名,學(xué)號(hào)和成績(jī),之后以字典的形式進(jìn)行寫入文件。這里準(zhǔn)備兩個(gè)列表,一個(gè)姓,一個(gè)名,之后使用random庫進(jìn)行隨機(jī)字符串拼接,得到姓名,需要的朋友可以參考一下2021-10-10Python腳本實(shí)現(xiàn)定時(shí)任務(wù)的最佳方法
我們?cè)谌粘9ぷ髦?常常會(huì)用到需要周期性執(zhí)行的任務(wù),下面這篇文章主要給大家介紹了關(guān)于Python腳本實(shí)現(xiàn)定時(shí)任務(wù)的最佳方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Python實(shí)現(xiàn)刪除list列表重復(fù)元素的方法總結(jié)
在Python編程中,我們經(jīng)常需要處理列表中的重復(fù)元素,這篇文章為大家介紹了五種高效的方法來刪除列表中的重復(fù)元素,希望對(duì)大家有所幫助2023-07-07Python調(diào)用實(shí)現(xiàn)最小二乘法的方法詳解
所謂線性最小二乘法,可以理解為是解方程的延續(xù),區(qū)別在于,當(dāng)未知量遠(yuǎn)小于方程數(shù)的時(shí)候,將得到一個(gè)無解的問題。本文主要和大家分享Python調(diào)用實(shí)現(xiàn)最小二乘法的方法,需要的可以參考一下2023-04-04Python Web框架之Django框架Model基礎(chǔ)詳解
這篇文章主要介紹了Python Web框架之Django框架Model基礎(chǔ),結(jié)合實(shí)例形式分析了Django框架Model模型相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-08-08打印tensorflow恢復(fù)模型中所有變量與操作節(jié)點(diǎn)方式
這篇文章主要介紹了打印tensorflow恢復(fù)模型中所有變量與操作節(jié)點(diǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05