详解python的xlwings库读写excel操作总结

时间:2022-11-26 14:13:06

一、总结(点击显示或隐藏总结内容)

一句话总结:
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']]

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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库逻辑(应用->工作簿->工作表->范围)操作即可,打开的记得关就好了,该读就读,该写就写

?
1
2
3
4
5
6
7
8
9
10
11
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中的数据的方式?

?
1
print(sht.range('a1:c7').value),这样读行,读列,还是同时读行读列都可以

 

?
1
2
3
4
5
6
7
8
# 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
print(sht.range('a1:c7').value)
 
# 读取行:得一维列表
# print(sht.range('a1:c1').value)
 
# 读取列:得一维列表
# print(sht.range('a1:a7').value)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
"""
 
xlwings介绍
xlwings 是 Python 中操作Excel 的一个第三方库,
支持.xls读写,.xlsx读写
操作非常简单,功能也很强大
 
1、安装库
pip3 install xlwings
 
2、引入库
import xlwings as xw
 
3、
应用->工作簿->工作表->范围
 
应用:一个应用(一个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']]
 
xlwings.App(visible=True,add_book=False)
其中参数visible(表示处理过程是否可视,也就是处理Excel的过程会不会显示出来),add_book(是否打开新的Excel程序,也就是是不是打开一个新的excel窗口)
 
"""
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、读

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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操作总结的文章就介绍到这了,更多相关python xlwings库读写excel内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/Renyi-Fan/p/13233572.html#_label0_0