python操作xls使用xlwings代提openpyxl基礎(chǔ)
xlwings基礎(chǔ)操作
放棄openpyxl的基礎(chǔ)理由:
- ①不支持xls文件處理;
- ②親測目前版本樣式保存的bug還未解決;
如果遇到上面兩個問題,直接放棄openpyxl,擁抱xlwings吧,沒什么出路;
xlwings文檔在國內(nèi)搜索基本很少,如下是基本的單元格操作;
基本單元格操作
在如下未滿足的情況,可以看下Office操作文檔 ,xlwings可以調(diào)它的api。
# coding=utf-8
import xlwings as xw
# 設(shè)置程序不可見運行
app = xw.App(visible=False, add_book=False)
# =============== 第一部分,創(chuàng)建并寫入數(shù)據(jù) =====================
# 創(chuàng)建一個test2.xlsx表,并寫入數(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()
# ============== 第二部分,插入、刪除行和列 ========================
# 導入已存的demo表格
load_wb = app.books.open('data/test2.xlsx')
# # 打開活動的工作薄的活動工作簿,或者指定的工作簿
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列(這里處理的不是很好,其實是增加了對應區(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)
# 返回和設(shè)置當前格子的高度和寬度
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))#合并起來然后轉(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()以上就是python操作xls使用xlwings代提openpyxl示例的詳細內(nèi)容,更多關(guān)于python xlwings操作xls的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用python查找替換PowerPoint演示文稿中的文本
演示文稿已成為商務(wù)會議、學術(shù)報告和教育培訓中不可或缺的一部分,而PowerPoint演示文稿作為行業(yè)標準工具,更是承載著無數(shù)創(chuàng)意與信息的載體,本文將介紹如何使用Python來精確查找并替換PowerPoint演示文稿中的文本,需要的朋友可以參考下2024-07-07
python 實現(xiàn)查詢Neo4j多節(jié)點的多層關(guān)系
今天小編就為大家分享一篇python 實現(xiàn)查詢Neo4j多節(jié)點的多層關(guān)系,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python中的collections集合與typing數(shù)據(jù)類型模塊
這篇文章介紹了Python中的collections集合與typing數(shù)據(jù)類型模塊,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
Python實戰(zhàn)購物車項目的實現(xiàn)參考
今天小編就為大家分享一篇關(guān)于Python實戰(zhàn)購物車項目的實現(xiàn)參考,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02

