python處理xls文件openpyxl基礎(chǔ)操作
python openpyxl處理xls
特別提醒:openpyxl不支持對(duì)xls文件的處理,且對(duì)原文件的樣式保存非常不友好,如果你有保存原文件樣式要求的話,建議使用xlwings替代openpyxl
基礎(chǔ)操作
直接復(fù)制代碼到編輯器,邊看邊運(yùn)行,理解起來(lái)估計(jì)還快些~
from openpyxl import load_workbook from openpyxl import Workbook # =============== 第一部分,創(chuàng)建并寫入數(shù)據(jù) ===================== # 創(chuàng)建一個(gè)test.xlsx表,并寫入數(shù)據(jù) # wb = Workbook() # ws = wb.active # for row in range(1,4): # ws.append([row*10+1,row*10+2,row*10+3]) # wb.save('data/test.xlsx') # exit() # 導(dǎo)入一個(gè)已存在的test.xlsx load_wb = load_workbook('data/test.xlsx') # 打開活動(dòng)的工作薄的活動(dòng)工作簿,或者指定的工作簿 load_ws = load_wb.active # load_ws = load_wb.get_sheet_by_name("Sheet") # ============== 第二部分,插入、刪除行和列 ======================== # 1-①在第二行前插入1行 # load_ws.insert_rows(2,1) # 1-②從第二行開始刪除1行 # load_ws.delete_rows(2,1) # 2-①在第二列前插入2列 # load_ws.insert_cols(2,2) # 2-②從第二列開始刪除1列 # load_ws.delete_cols(2,1) # 獲取總行數(shù)(存在數(shù)據(jù)) # load_wb.save('data/test.xlsx') # rows = load_ws.max_row # cols = load_ws.max_column # print('該表格總共有:'+str(rows)+' 行') # print('該表格總共有:'+str(cols)+' 列') # exit() # ============== 第三部分,獲取單元格的值 ======================== # 獲第三行第一列的值,兩種方法都行 # 方法一,根據(jù)單元格名稱獲取 # v = load_ws['A3'].value # 方法二,根據(jù)橫縱坐標(biāo)值來(lái)獲取 # v = load_ws.cell(3,1).value # print(v) # 獲取全部的單元格 # rows = load_ws.rows # for row in rows: # for cell in row: # if(cell.value==21): # print(dir(cell)) # #可用屬性 col_idx、column、row、value # print(cell.col_idx) # print(cell.column) # print(cell.row) # ============== 第三部分,修改指定單元格的值 ======================== # load_ws['A2'] = 'xx' # load_wb.save('data/test.xlsx') # exit() # ============== 第四部分,合并單元格 ======================== # load_ws.merge_cells('A2:B2') # load_wb.save('data/test.xlsx') # exit() # ============== 第五部分,設(shè)置樣式(文字居左) ======================== # from openpyxl.styles import Alignment # # 水平居右,垂直居中,自動(dòng)換行 # load_ws['A2'].alignment = Alignment(horizontal='right',vertical='center',wrap_text=True) # # 自動(dòng)換行 # load_ws['G1'].alignment = Alignment(wrap_text=True) # # from openpyxl.styles import Font # # 設(shè)置字體為“宋體”,大小為11,bold為加粗,italic為斜體,strike為刪除線,顏色為黑色 # font = Font(u'宋體',size = 11,bold=True,italic=True,strike=True,color='000000') # load_ws['A1'].font = font # from openpyxl.styles import PatternFill # # 設(shè)置背景色為 #1874CD # fill = PatternFill("solid", fgColor="1874CD") # load_ws['C3'].fill = fill # 第2行行高 load_ws.row_dimensions[2].height = 40 # C列列寬 load_ws.column_dimensions['C'].width = 30 load_wb.save('data/test.xlsx') exit() # ============== 第六部分,其它 ======================== # # 打印設(shè)置 # load_ws.print_options.horizontalCentered = True # load_ws.print_options.verticalCentered = True # load_ws.print_area = 'A1:I5' # load_wb.save('data/test.xlsx') from openpyxl.utils import get_column_letter, column_index_from_string # 根據(jù)列的數(shù)字返回字母 print(get_column_letter(2)) # B # 根據(jù)字母返回列的數(shù)字 print(column_index_from_string('D')) # 4
以上就是python處理xls文件openpyxl基礎(chǔ)操作的詳細(xì)內(nèi)容,更多關(guān)于python openpyxl處理xls的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python通過(guò)OpenCV的findContours獲取輪廓并切割實(shí)例
這篇文章主要介紹了Python通過(guò)OpenCV的findContours獲取輪廓并切割實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01基于python的BP神經(jīng)網(wǎng)絡(luò)及異或?qū)崿F(xiàn)過(guò)程解析
這篇文章主要介紹了基于python的BP神經(jīng)網(wǎng)絡(luò)及異或?qū)崿F(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Python利用Selenium實(shí)現(xiàn)網(wǎng)站自動(dòng)簽到功能
小編了解到了python的selenium庫(kù)對(duì)于自動(dòng)化測(cè)試的初學(xué)者很容易上手,今天就借這篇文章給大家介紹Python利用Selenium實(shí)現(xiàn)網(wǎng)站自動(dòng)簽到功能,感興趣的朋友一起看看吧2021-09-09Python爬蟲采集Tripadvisor數(shù)據(jù)案例實(shí)現(xiàn)
這篇文章主要為大家介紹了Python爬蟲采集Tripadvisor數(shù)據(jù)案例實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06一文帶你了解Python中Scikit-learn庫(kù)的使用
Scikit-learn是Python的一個(gè)開源機(jī)器學(xué)習(xí)庫(kù),它支持監(jiān)督和無(wú)監(jiān)督學(xué)習(xí),本文主要來(lái)深入探討一下Scikit-learn的更高級(jí)的特性,感興趣的小伙伴可以了解下2023-07-07在jupyter notebook 添加 conda 環(huán)境的操作詳解
這篇文章主要介紹了在jupyter notebook 添加 conda 環(huán)境的操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python的json.loads() 方法與json.dumps()方法及使用小結(jié)
json.loads() 是一個(gè)非常有用的方法,它允許你在處理 JSON 數(shù)據(jù)時(shí),將其轉(zhuǎn)換為 Python 數(shù)據(jù)類型,以便于在代碼中進(jìn)行操作和處理,這篇文章給大家介紹Python的json.loads() 方法與json.dumps()方法及使用小結(jié),感興趣的朋友一起看看吧2024-03-03Python數(shù)據(jù)可視化之matplotlib.pyplot繪圖的基本參數(shù)詳解
matplotlib.pyplot模塊是一個(gè)功能強(qiáng)大的畫圖模塊,可以對(duì)畫圖的多個(gè)參數(shù)進(jìn)行調(diào)整,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)可視化之matplotlib.pyplot繪圖基本參數(shù)的相關(guān)資料,需要的朋友可以參考下2022-04-04