python的xlwings庫讀寫excel操作總結
v 一、總結(點擊顯示或隱藏總結內容)
一句話總結:
xlwings 是 Python 中操作Excel的一個第三方庫,支持.xls讀寫,.xlsx讀寫,操作非常簡單,功能也很強大
1、xlwings 中的邏輯:應用->工作簿->工作表->范圍 對應的代碼?
應用:一個應用(一個xlwings程序):app = xw.App(visible=True, add_book=False)
工作簿(book):excel文件(excel程序):wb = app.books.add()
工作表(sheet):sheet:sht = wb.sheets['sheet1']
范圍:行列:sht.range('a6').expand('table').value = [['a','b'],['d','e']]
import xlwings as xw # 寫到Excel中去 # add_book也就是是否增加excel 的book # visible=True 表示操作過程是否可顯示 app = xw.App(visible=True, add_book=False) # 工作簿 wb = app.books.add() # 頁sheet1 sht = wb.sheets['sheet1'] # 單個值插入 # sht.range('A1').value = '產品名稱' # sht.range('B1').value = '編號' # sht.range('C1').value = '價格' # sht.range('A2').value = '不告訴你' # sht.range('B2').value = 'n110110' # sht.range('C2').value = '688.26' # sht.range('A3').value = '不告訴你1' # sht.range('B3').value = 'n1101101' # sht.range('C3').value = '688.261' # 插入一行 # sht.range('a1').value = [1,2,3,4] # 等同於 # sht.range('a1:d4').value = [1,2,3,4] # 插入一列 # sht.range('a2').options(transpose=True).value = [5,6,7,8] # 同時插入行列 # sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']] # 在當前目錄下生成文件 wb.save('demo1.xlsx') wb.close() app.quit() # import os # path1=os.path.abspath('.') # 表示當前所處的文件夾的絕對路徑 # print(path1) # path2=os.path.abspath('..') # 表示當前所處的文件夾上一級文件夾的絕對路徑 # print(path2) # 關於路徑問題,切換到指定目錄即可
2、xlwings庫向excel 插入值的方式?
a、插入單個值:sht.range('A1').value = '產品名稱'
b、插入一行:sht.range('a1').value = [1,2,3,4] 或者 sht.range('a1:d4').value = [1,2,3,4]
c、插入一列:sht.range('a2').options(transpose=True).value = [5,6,7,8]
d、同時插入行列:sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]
3、xlwings庫 讀寫excel基本操作步驟?
就是按照xlwings庫邏輯(應用->工作簿->工作表->范圍)操作即可,打開的記得關就好了,該讀就讀,該寫就寫
app = xw.App(visible=True, add_book=False) # 工作簿 wb = app.books.add() # 頁sheet1 sht = wb.sheets['sheet1'] # 同時插入行列 sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']] # 在當前目錄下生成文件 wb.save('demo1.xlsx') wb.close() app.quit()
4、xlwings庫 讀取excel中的數據的方式?
print(sht.range('a1:c7').value),這樣讀行,讀列,還是同時讀行讀列都可以
# 讀取行列:讀取A1:C7(直接填入單元格范圍就行了),得到一個二維列表 print(sht.range('a1:c7').value) # 讀取行:得一維列表 # print(sht.range('a1:c1').value) # 讀取列:得一維列表 # print(sht.range('a1:a7').value)
import xlwings as xw app = xw.App(visible=True, add_book=False) # 顯示警報() app.display_alerts = True # 屏幕更新(應用中) app.screen_updating = True # 打開文件 wb = app.books.open('demo1.xlsx') sht = wb.sheets['sheet1'] # 遍歷讀取單元格 # column_name = ['A','B',"C"] # data_list = [] #將數據存到list中去 # for i in range(3): # 遍歷行 # row_list = [] # for j in range(3): #遍歷列 # str1 = column_name[j]+str(i+1) # a = sht.range(str1).value # row_list.append(a) # print(a) # pass # data_list.append(row_list) # pass # print(data_list) # 讀取行列:讀取A1:C7(直接填入單元格范圍就行了),得到一個二維列表 print(sht.range('a1:c7').value) # 讀取行:得一維列表 # print(sht.range('a1:c1').value) # 讀取列:得一維列表 # print(sht.range('a1:a7').value) wb.save() wb.close() app.quit()
二、python的xlwings庫讀寫excel操作總結
博客對應課程的視頻位置:
1、寫
1 """ 2 3 xlwings介紹 4 xlwings 是 Python 中操作Excel 的一個第三方庫, 5 支持.xls讀寫,.xlsx讀寫 6 操作非常簡單,功能也很強大 7 8 1、安裝庫 9 pip3 install xlwings 10 11 2、引入庫 12 import xlwings as xw 13 14 3、 15 應用->工作簿->工作表->范圍 16 17 應用:一個應用(一個xlwings程序): 18 app = xw.App(visible=True, add_book=False) 19 20 工作簿(book): 21 excel文件(excel程序):wb = app.books.add() 22 23 工作表(sheet): 24 sheet:sht = wb.sheets['sheet1'] 25 26 范圍:行列: 27 sht.range('a6').expand('table').value = [['a','b'],['d','e']] 28 29 xlwings.App(visible=True,add_book=False) 30 其中參數visible(表示處理過程是否可視,也就是處理Excel的過程會不會顯示出來),add_book(是否打開新的Excel程序,也就是是不是打開一個新的excel窗口) 31 32 """ 33 import xlwings as xw 34 35 # 寫到Excel中去 36 # add_book也就是是否增加excel 的book 37 # visible=True 表示操作過程是否可顯示 38 app = xw.App(visible=True, add_book=False) 39 # 工作簿 40 wb = app.books.add() 41 42 # 頁sheet1 43 sht = wb.sheets['sheet1'] 44 # 單個值插入 45 # sht.range('A1').value = '產品名稱' 46 # sht.range('B1').value = '編號' 47 # sht.range('C1').value = '價格' 48 # sht.range('A2').value = '不告訴你' 49 # sht.range('B2').value = 'n110110' 50 # sht.range('C2').value = '688.26' 51 # sht.range('A3').value = '不告訴你1' 52 # sht.range('B3').value = 'n1101101' 53 # sht.range('C3').value = '688.261' 54 55 # 插入一行 56 # sht.range('a1').value = [1,2,3,4] 57 # 等同於 58 # sht.range('a1:d4').value = [1,2,3,4] 59 60 # 插入一列 61 # sht.range('a2').options(transpose=True).value = [5,6,7,8] 62 63 # 同時插入行列 64 # sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']] 65 66 # 在當前目錄下生成文件 67 wb.save('demo1.xlsx') 68 wb.close() 69 app.quit() 70 71 # import os 72 # path1=os.path.abspath('.') # 表示當前所處的文件夾的絕對路徑 73 # print(path1) 74 # path2=os.path.abspath('..') # 表示當前所處的文件夾上一級文件夾的絕對路徑 75 # print(path2) 76 77 # 關於路徑問題,切換到指定目錄即可
2、讀
1 import xlwings as xw 2 3 app = xw.App(visible=True, add_book=False) 4 # 顯示警報() 5 app.display_alerts = True 6 # 屏幕更新(應用中) 7 app.screen_updating = True 8 # 打開文件 9 10 wb = app.books.open('demo1.xlsx') 11 sht = wb.sheets['sheet1'] 12 13 # 遍歷讀取單元格 14 # column_name = ['A','B',"C"] 15 # data_list = [] #將數據存到list中去 16 # for i in range(3): # 遍歷行 17 # row_list = [] 18 # for j in range(3): #遍歷列 19 # str1 = column_name[j]+str(i+1) 20 # a = sht.range(str1).value 21 # row_list.append(a) 22 # print(a) 23 # pass 24 # data_list.append(row_list) 25 # pass 26 # print(data_list) 27 28 # 讀取行列:讀取A1:C7(直接填入單元格范圍就行了),得到一個二維列表 29 print(sht.range('a1:c7').value) 30 31 # 讀取行:得一維列表 32 # print(sht.range('a1:c1').value) 33 34 # 讀取列:得一維列表 35 # print(sht.range('a1:a7').value) 36 37 38 wb.save() 39 wb.close() 40 app.quit()