摘要:基礎操作放棄的基礎理由不支持文件處理親測目前版本樣式保存的還未解決如果遇到上面兩個問題,直接放棄,擁抱吧,沒什么出路文檔在國內搜索基本很少,如下是基本的單元格操作在如下未滿足的情況,可以看下操作文檔,可以調它的。
xlwings基礎操作
放棄openpyxl的基礎理由:①不支持xls文件處理; ②親測目前版本樣式保存的bug還未解決;
如果遇到上面兩個問題,直接放棄openpyxl,擁抱xlwings吧,沒什么出路;
xlwings文檔在國內搜索基本很少,如下是基本的單元格操作;
在如下未滿足的情況,可以看下Office操作文檔 ,xlwings可以調它的api。
# coding=utf-8 import xlwings as xw # 設置程序不可見運行 app = xw.App(visible=False, add_book=False) # =============== 第一部分,創(chuàng)建并寫入數據 ===================== # 創(chuàng)建一個test2.xlsx表,并寫入數據 # 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() # ============== 第二部分,插入、刪除行和列 ======================== # 導入已存的demo表格 load_wb = app.books.open("data/test2.xlsx") # # 打開活動的工作薄的活動工作簿,或者指定的工作簿 load_ws = load_wb.sheets.active # load_ws = load_wb.sheets["Sheet"] # 獲取總行數(存在數據) 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列(這里處理的不是很好,其實是增加了對應區(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 # ============== 第五部分,獲取單元格橫縱坐標index ======================== rng=xw.Range("B2") # 返回當前格子的行值 # print(rng.row) # 返回當前格子的列值 # print(rng.column) # 返回和設置當前格子的高度和寬度 print(rng.width) print(rng.height) rng.row_height=40 rng.column_width=50 # 指定單元格的高度和寬度自適應 # 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ù)兩個列的值讀取到列表中 # 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))#合并起來然后轉為列表 # dicta=dict(lst3)#列表轉為字典 # ============== 第七部分,Office操作文檔 ======================== # https://docs.microsoft.com/en-us/office/vba/api/excel.range(object) load_wb.save() load_wb.close() app.quit()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43427.html
摘要:特別提醒不支持對文件的處理,且對原文件的樣式保存非常不友好,如果你有保存原文件樣式要求的話,建議使用替代基礎操作直接復制代碼到編輯器,邊看邊運行,理解起來估計還快些第一部分創(chuàng)建并寫入數據創(chuàng)建一個表,并寫入數據導入一個已存在的打開活動的工作薄 特別提醒:openpyxl不支持對xls文件的處理,且對原文件的樣式保存非常不友好,如果你有保存原文件樣式要求的話,建議使用xlwings替代op...
摘要:查找了一下,可以操作表的幾個庫有以下幾個這個是推薦使用的庫,可以讀寫以上格式,以結尾的文件。這個支持讀取數據,支持以結尾的文件,也就是比較老的格式。這個和上面的相對應,支持寫入書和格式化數據,支持結尾的文件格式。 最近需要用到Python來操作excel表,讀取表格內容到數據庫。所以就搜索了相關資料。查找了一下,可以操作excel表的幾個庫有以下幾個: openpyxl 這個是推薦使用...
摘要:目錄和基本操作用模塊打開文檔,查看所有表通過名稱獲取表格獲取活動表獲取表格的尺寸獲取單元格中的數據獲取單元格的行列坐標獲取區(qū)間內的數據獲取指定區(qū)間的數據獲取指定行列的數據按行列獲取值獲取活動表的行列數操作創(chuàng)建新的修改單 ...
?九月?份了,車神哥又回歸了校園 ?冬天?還會遠嗎 ?推薦一首最近很?喜歡?的歌? ?No Fear In My Heart -樸樹? 由于最近在寫一篇相關的論文,就說說其中遇到的一些問題吧~ Minisom 之前做過一個對minisom的第三方開源庫的介紹,可以點擊看這里。 對相應的代碼添加了注釋: 導入各種庫吧 # 導入庫from sklearn.model_selectio...
摘要:使用批量處理工作簿和工作表批量新建并保存工作簿批量打開一個文件夾中的打開工作簿批量重命名一個工作簿的所有工作表批量重命名多個工作簿批量重命名多個工作簿中的同名工作表將一個工作簿的所有工作表批量復制到其他工作簿按條件將一 ...
閱讀 1837·2021-09-23 11:21
閱讀 698·2019-08-30 15:55
閱讀 832·2019-08-29 15:40
閱讀 528·2019-08-29 12:56
閱讀 3158·2019-08-26 12:00
閱讀 3552·2019-08-23 18:24
閱讀 2246·2019-08-23 17:08
閱讀 1637·2019-08-23 17:03