摘要:基礎(chǔ)操作放棄的基礎(chǔ)理由不支持文件處理親測(cè)目前版本樣式保存的還未解決如果遇到上面兩個(gè)問(wèn)題,直接放棄,擁抱吧,沒(méi)什么出路文檔在國(guó)內(nèi)搜索基本很少,如下是基本的單元格操作在如下未滿(mǎn)足的情況,可以看下操作文檔,可以調(diào)它的。
xlwings基礎(chǔ)操作
放棄openpyxl的基礎(chǔ)理由:①不支持xls文件處理; ②親測(cè)目前版本樣式保存的bug還未解決;
如果遇到上面兩個(gè)問(wèn)題,直接放棄openpyxl,擁抱xlwings吧,沒(méi)什么出路;
xlwings文檔在國(guó)內(nèi)搜索基本很少,如下是基本的單元格操作;
在如下未滿(mǎn)足的情況,可以看下Office操作文檔 ,xlwings可以調(diào)它的api。
# coding=utf-8 import xlwings as xw # 設(shè)置程序不可見(jiàn)運(yùn)行 app = xw.App(visible=False, add_book=False) # =============== 第一部分,創(chuàng)建并寫(xiě)入數(shù)據(jù) ===================== # 創(chuàng)建一個(gè)test2.xlsx表,并寫(xiě)入數(shù)據(jù) # wb = app.books.add() # ws = wb.sheets.active # arr = [] # for col in range(1,4): # arr_temp = [] # for row in range(1,4): # arr_temp.append(col*10+row) # arr.append(arr_temp) # ws.range("A1:B3").value=arr # wb.save("data/test2.xlsx") # wb.close() # app.quit() # exit() # ============== 第二部分,插入、刪除行和列 ======================== # 導(dǎo)入已存的demo表格 load_wb = app.books.open("data/test2.xlsx") # # 打開(kāi)活動(dòng)的工作薄的活動(dòng)工作簿,或者指定的工作簿 load_ws = load_wb.sheets.active # load_ws = load_wb.sheets["Sheet"] # 獲取總行數(shù)(存在數(shù)據(jù)) rows = load_ws.api.UsedRange.Rows.count cols = load_ws.api.UsedRange.Columns.count # print("該表格總共有:"+str(rows)+" 行") # print("該表格總共有:"+str(cols)+" 列") # exit() # 1-①在第二行前插入2行(可理解為: 在第2-4行插入空白行) # load_ws.api.rows("2:4").insert # 1-②刪除第2-4行 # load_ws.api.rows("2:4").delete # 2-①在第二列前插入2列(這里處理的不是很好,其實(shí)是增加了對(duì)應(yīng)區(qū)域的單元格,并未直接增加列) # load_ws.range("B1:C"+str(cols)).api.insert # 2-②刪除第2-4列 # load_ws.range("B1:C"+str(cols)).api.delete # ============== 第三部分,修改指定單元格的值 ======================== # load_ws.range("A1").value = "x11" # ============== 第四部分,合并單元格 ======================== # load_ws.range("A1:A2").api.merge # ============== 第五部分,獲取單元格橫縱坐標(biāo)index ======================== rng=xw.Range("B2") # 返回當(dāng)前格子的行值 # print(rng.row) # 返回當(dāng)前格子的列值 # print(rng.column) # 返回和設(shè)置當(dāng)前格子的高度和寬度 print(rng.width) print(rng.height) rng.row_height=40 rng.column_width=50 # 指定單元格的高度和寬度自適應(yīng) # rng.columns.autofit() rng.rows.autofit() print(rng.width) print(rng.height) # load_ws.range("A1:A2").api.height = 20 # ============== 第六部分,其它 ======================== # lst=load_ws.range("A1:A"+str(load_ws["A1048576"].end("up").row)).value #把excel單列值讀取到列表中 # lst1=load_ws.range("A1:C"+str(load_ws["A1048576"].end("up").row)).value # 把excel連續(xù)兩個(gè)列的值讀取到列表中 # lst=load_ws.range("A1:A"+str(load_ws["A1048576"].end("up").row)).value #A列的值 # lst2=load_ws.range("C1:C"+str(load_ws["A1048576"].end("up").row)).value#C列的值 # lst3=list(zip(lst,lst2))#合并起來(lái)然后轉(zhuǎn)為列表 # dicta=dict(lst3)#列表轉(zhuǎn)為字典 # ============== 第七部分,Office操作文檔 ======================== # https://docs.microsoft.com/en-us/office/vba/api/excel.range(object) load_wb.save() load_wb.close() app.quit()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43427.html
摘要:特別提醒不支持對(duì)文件的處理,且對(duì)原文件的樣式保存非常不友好,如果你有保存原文件樣式要求的話(huà),建議使用替代基礎(chǔ)操作直接復(fù)制代碼到編輯器,邊看邊運(yùn)行,理解起來(lái)估計(jì)還快些第一部分創(chuàng)建并寫(xiě)入數(shù)據(jù)創(chuàng)建一個(gè)表,并寫(xiě)入數(shù)據(jù)導(dǎo)入一個(gè)已存在的打開(kāi)活動(dòng)的工作薄 特別提醒:openpyxl不支持對(duì)xls文件的處理,且對(duì)原文件的樣式保存非常不友好,如果你有保存原文件樣式要求的話(huà),建議使用xlwings替代op...
摘要:查找了一下,可以操作表的幾個(gè)庫(kù)有以下幾個(gè)這個(gè)是推薦使用的庫(kù),可以讀寫(xiě)以上格式,以結(jié)尾的文件。這個(gè)支持讀取數(shù)據(jù),支持以結(jié)尾的文件,也就是比較老的格式。這個(gè)和上面的相對(duì)應(yīng),支持寫(xiě)入書(shū)和格式化數(shù)據(jù),支持結(jié)尾的文件格式。 最近需要用到Python來(lái)操作excel表,讀取表格內(nèi)容到數(shù)據(jù)庫(kù)。所以就搜索了相關(guān)資料。查找了一下,可以操作excel表的幾個(gè)庫(kù)有以下幾個(gè): openpyxl 這個(gè)是推薦使用...
摘要:目錄和基本操作用模塊打開(kāi)文檔,查看所有表通過(guò)名稱(chēng)獲取表格獲取活動(dòng)表獲取表格的尺寸獲取單元格中的數(shù)據(jù)獲取單元格的行列坐標(biāo)獲取區(qū)間內(nèi)的數(shù)據(jù)獲取指定區(qū)間的數(shù)據(jù)獲取指定行列的數(shù)據(jù)按行列獲取值獲取活動(dòng)表的行列數(shù)操作創(chuàng)建新的修改單 ...
?九月?份了,車(chē)神哥又回歸了校園 ?冬天?還會(huì)遠(yuǎn)嗎 ?推薦一首最近很?喜歡?的歌? ?No Fear In My Heart -樸樹(shù)? 由于最近在寫(xiě)一篇相關(guān)的論文,就說(shuō)說(shuō)其中遇到的一些問(wèn)題吧~ Minisom 之前做過(guò)一個(gè)對(duì)minisom的第三方開(kāi)源庫(kù)的介紹,可以點(diǎn)擊看這里。 對(duì)相應(yīng)的代碼添加了注釋?zhuān)? 導(dǎo)入各種庫(kù)吧 # 導(dǎo)入庫(kù)from sklearn.model_selectio...
摘要:使用批量處理工作簿和工作表批量新建并保存工作簿批量打開(kāi)一個(gè)文件夾中的打開(kāi)工作簿批量重命名一個(gè)工作簿的所有工作表批量重命名多個(gè)工作簿批量重命名多個(gè)工作簿中的同名工作表將一個(gè)工作簿的所有工作表批量復(fù)制到其他工作簿按條件將一 ...
閱讀 1866·2021-09-23 11:21
閱讀 710·2019-08-30 15:55
閱讀 846·2019-08-29 15:40
閱讀 549·2019-08-29 12:56
閱讀 3177·2019-08-26 12:00
閱讀 3568·2019-08-23 18:24
閱讀 2261·2019-08-23 17:08
閱讀 1650·2019-08-23 17:03