摘要:特別提醒不支持對(duì)文件的處理,且對(duì)原文件的樣式保存非常不友好,如果你有保存原文件樣式要求的話,建議使用替代基礎(chǔ)操作直接復(fù)制代碼到編輯器,邊看邊運(yùn)行,理解起來估計(jì)還快些第一部分創(chuàng)建并寫入數(shù)據(jù)創(chuàng)建一個(gè)表,并寫入數(shù)據(jù)導(dǎo)入一個(gè)已存在的打開活動(dòng)的工作薄
特別提醒:
openpyxl不支持對(duì)xls文件的處理,且對(duì)原文件的樣式保存非常不友好,如果你有保存原文件樣式要求的話,建議使用xlwings替代openpyxl
直接復(fù)制代碼到編輯器,邊看邊運(yùn)行,理解起來估計(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)值來獲取 # 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
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43371.html
摘要:創(chuàng)建新行新列統(tǒng)計(jì)有多少行多少列,中文編碼問題,單元格為空的問題。如果是將從頭到尾順序添加。,如果是按照相應(yīng)的鍵添加相應(yīng)的鍵值。 【未完成】歡迎添加問題openpyxl能做到什么。更系統(tǒng)的文檔。有沒有覆蓋的函數(shù)。創(chuàng)建新行、新列、統(tǒng)計(jì)有多少行、多少列,中文編碼問題,單元格為空的問題。既然是處理excel的,excel自身的特點(diǎn),比如excel函數(shù)、圖表、合并,等等的特性 簡(jiǎn)介 官方文檔 寫...
摘要:基礎(chǔ)操作放棄的基礎(chǔ)理由不支持文件處理親測(cè)目前版本樣式保存的還未解決如果遇到上面兩個(gè)問題,直接放棄,擁抱吧,沒什么出路文檔在國(guó)內(nèi)搜索基本很少,如下是基本的單元格操作在如下未滿足的情況,可以看下操作文檔,可以調(diào)它的。 xlwings基礎(chǔ)操作 放棄openpyxl的基礎(chǔ)理由:①不支持xls文件處理; ②親測(cè)目前版本樣式保存的bug還未解決; 如果遇到上面兩個(gè)問題,直接放棄openpyxl,...
摘要:特別注意當(dāng)用模式載入時(shí),跟都是對(duì)象。可以使用載入已經(jīng)存在的表。我們的目的是從源表中提取信息并批量復(fù)制到目標(biāo)表中,所以我們首先定義一些變量。最后保存目標(biāo)就可以了。 現(xiàn)代生活中,我們很難不與excel表打交道,excel表有著易學(xué)易用的優(yōu)點(diǎn),只是當(dāng)表中數(shù)據(jù)量很大,我們又需要從其他表冊(cè)中復(fù)制粘貼一些數(shù)據(jù)(比如身份證號(hào))的時(shí)候,我們會(huì)越來越倦怠,畢竟我們不是機(jī)器,沒法長(zhǎng)時(shí)間做某種重復(fù)性的枯燥操...
摘要:目錄和基本操作用模塊打開文檔,查看所有表通過名稱獲取表格獲取活動(dòng)表獲取表格的尺寸獲取單元格中的數(shù)據(jù)獲取單元格的行列坐標(biāo)獲取區(qū)間內(nèi)的數(shù)據(jù)獲取指定區(qū)間的數(shù)據(jù)獲取指定行列的數(shù)據(jù)按行列獲取值獲取活動(dòng)表的行列數(shù)操作創(chuàng)建新的修改單 ...
摘要:對(duì)象也有和屬性提供該單元格的位置信息。讀取對(duì)象的屬性一個(gè)完整的案例代碼如下讀取文檔返回一個(gè)對(duì)象,有點(diǎn)類似于文件對(duì)象在工作薄中取得工作表返回一個(gè)列表,存儲(chǔ)表中所有的工作表返回一個(gè)對(duì)象,返回當(dāng)前的活動(dòng)表獲取工作表中,單元格的信息的屬性 Excel 是 Windows 環(huán)境下流行的、強(qiáng)大的電子表格應(yīng)用。openpyxl 模塊讓 Python 程序能讀取和修改 Excel 電子表格文件。例如,...
閱讀 2411·2021-09-22 15:15
閱讀 650·2021-09-02 15:11
閱讀 1797·2021-08-30 09:48
閱讀 1895·2019-08-30 15:56
閱讀 1505·2019-08-30 15:52
閱讀 2054·2019-08-30 15:44
閱讀 445·2019-08-29 16:29
閱讀 1547·2019-08-29 11:06