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')
# 打開(kāi)活動(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-②從第二行開(kāi)始刪除1行
# load_ws.delete_rows(2,1)
# 2-①在第二列前插入2列
# load_ws.insert_cols(2,2)
# 2-②從第二列開(kāi)始刪除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)文章
詳解一種用django_cache實(shí)現(xiàn)分布式鎖的方式
這篇文章主要介紹了詳解一種用django_cache實(shí)現(xiàn)分布式鎖的方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Python?pandas修剪函數(shù)clip使用實(shí)例探究
在數(shù)據(jù)處理和分析中,經(jīng)常面臨著需要限制數(shù)據(jù)范圍的情況,而pandas庫(kù)提供的clip函數(shù)就是一個(gè)強(qiáng)大的工具,可以方便地對(duì)數(shù)據(jù)進(jìn)行修剪,本文將深入介紹clip函數(shù)的基本用法、常見(jiàn)參數(shù)以及實(shí)際場(chǎng)景中的應(yīng)用,以幫助大家充分理解并靈活運(yùn)用這一功能2024-01-01
Django用戶注冊(cè)并自動(dòng)關(guān)聯(lián)到某數(shù)據(jù)表?xiàng)l目的實(shí)現(xiàn)步驟
當(dāng)一個(gè)新用戶注冊(cè)并且你想要自動(dòng)關(guān)聯(lián)到特定的Box條目(假設(shè)其ID為1)時(shí),下面給大家分享完整實(shí)現(xiàn)流程和步驟,對(duì)Django關(guān)聯(lián)數(shù)據(jù)表?xiàng)l目實(shí)現(xiàn)代碼感興趣的朋友跟隨小編一起看看吧2017-04-04
tensorflow2.0的函數(shù)簽名與圖結(jié)構(gòu)(推薦)
這篇文章主要介紹了tensorflow2.0的函數(shù)簽名與圖結(jié)構(gòu),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
詳解python實(shí)現(xiàn)讀取郵件數(shù)據(jù)并下載附件的實(shí)例
這篇文章主要介紹了詳解python讀取郵件數(shù)據(jù)并下載附件的實(shí)例的相關(guān)資料,這里提供實(shí)現(xiàn)實(shí)例,幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-08-08

