python的xlwings庫讀寫excel操作總結


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()
復制代碼

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM