python的xlwings库读写excel操作总结
一、总结
一句话总结:
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']]
importxlwings 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)
importxlwings 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 xlwings10
11 2、引入库12 import xlwings as xw13
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 importxlwings as xw34
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 importxlwings as xw2
3 app = xw.App(visible=True, add_book=False)4 #显示警报()
5 app.display_alerts =True6 #屏幕更新(应用中)
7 app.screen_updating =True8 #打开文件
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()