Python3用最好用的第3方库操作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']]
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) # 关于路径问题,切换到指定目录即可
二、Python3用最好用的第3方库操作Excel
转自或参考:Python3用最好用的第3方库操作Excel
https://baijiahao.baidu.com/s?id=1632702335891189672&wfr=spider&for=pc
用Python3操作excel的第3方库挺多的,经不科学测试,无论是兼容性(支持.xls和.xlsx
),代码可读性,还是性能方面,较好的要数xlwings这个库了。
xlwings除了免费,开源外,还是跨平台的。如果要使用它操作excel,你得先安装。
1
打开【终端】,输入pip3 install xlwings命令,进行开发包安装。这种方式的安装,最大的好处是:它会自动安装与之相关的所有库并配置好在Python下的位置,而你只需要睁大眼睛,傻傻地看着便可。
2
安装好xlwings开发包后,就可以来编个生成excel文件的程序了,咱看看它是不是真的很胖。至于用什么开发工具,你自己选择,是VS Code、Eclipse,还是PyCharm或是其他,只要你喜欢就好。别的就不多说了,直接上代码。
import xlwings as xw
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'
# 在当前目录下生成文件
wb.save('demo1.xls')
wb.close()
app.quit()
3
有写有读,才是完整码农。得了,咱就把刚刚写进去的数据读出来吧。
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.xls')
sht = wb.sheets['sheet1']
a = sht.range('A1').value
wb.save()
wb.close()
app.quit()