xlwings|5个实例带你实现python与excel交互-天天播报

2023-06-05 18:04:24| 来源: 个人图书馆-闲读古书|

年前学习xlwings时断断续续产出的存货,现在整理出来分享给需要的小伙伴们。


(相关资料图)

1.新建保存重命名表、插入删除行列、复制行列,批量写入数据

import xlwings as xwwb = xw.Book()#新建一个工作表sht = wb.sheets[0]#shee1sheet_name = "NEWSHEET"sht.name = sheet_name#更改第一个sheet名字col_a = [1,2,3,4,5,6,7]sht.range("A1:A7").options(transpose=True).value = col_a#整列赋值sht.api.Columns(1).Insert()#在第一列前插入一列sht.api.Rows(1).Insert()#在第一行前插入一行sht.range("A3:A4").api.EntireRow.Delete()#删除3,4行sht.api.Columns(2).Copy(sht.api.Columns(1))#复制第二列到第一列,可以带格式复制sht.range("B1").api.EntireColumn.Delete()#删除第二列B列wb.save(r"F:\PythonData\xlwings\NewData.xlsx")xw.App().quit()#退出整个excel,不写的话打开excel会显示被其他人使用

2.获取有数据的所有行数和列数

used_rangeUsed Range of Sheet.Returns:  Return type:  xw.Range

last_cellReturns the bottom right cell of the specified range. Read-only.Returns:  Return type:  Range

import xlwings as xwwb = xw.Book(r"F:\xlwings\OriginalData.xlsx")sht = wb.sheets[0]info = sht.used_rangenrows = info.last_cell.rowprint(nrows)ncolumns = info.last_cell.columnprint(ncolumns)

3.读取一整个sheet到pandas.DataFrame

import xlwings as xwimport pandas as pdfrom pandas import Series,DataFramewb = app.books.add()sht_All = wb.sheets[0]info = sht_All.used_rangenrows = info.last_cell.rowdef GetDataFrame(Sheets,N,M):index1 = Sheets.range((1,1),(1,15)).valueindex2 = Series(index1)Data = Sheets.range((2,1),(N,M)).valueData = pd.DataFrame(Data,columns=index2)return Datam = GetDataFrame(sht_All,nrows,15)

4.保存与另存为

使用xlwings处理excel有时会需要在原表格上进行更改,当然可以选择提取数据再进行相关操作,也可以操作之后另存为。

另存为的方法如下:

import xlwings as xwwb = xw.Book(r"F:\xlwings\OriginalData.xlsx")#orwb1 = xw.books.open(r"F:\xlwings\OriginalData01.xlsx")#打开文件wb.save()#保存原文件wb1.save(r"F:\xlwings\PresentData01.xlsx")#另存为PresentData01.xlsx

5 .调用api:设置excel对齐方式,框线,背景颜色,字体加粗等

我们先在excel把自己想要的格式设置出来:

"One’:加粗,左对齐靠下

"Two’:倾斜,居中靠下

"Three’:下划线,左对齐靠上

"Four’:左对齐居中

"Five’:右对齐靠下

全框线,粉色

import xlwings as xwwb = xw.Book(r"F:\PythonData\xlwings\Style.xlsx")sht = wb.sheets[0]sht_color = sht.range((1,1)).colorprint(sht_color)#(255, 153, 255)sht.range((3,1)).color = (255, 153, 255)#A3背景颜色为粉色sht_BoldA = sht.range((1,1)).api.Font.Boldprint(sht_BoldA)#Truesht_BoldB = sht.range((1,2)).api.Font.Boldprint(sht_BoldB)#Falsesht.range((3,1)).value = "A3"sht.range((3,1)).api.Font.Bold = True#加粗sht_Fontstyle = sht.range((1,2)).api.Font.FontStyleprint(sht_Fontstyle)#倾斜sht.range((3,2)).value = "B3"sht.range((3,2)).api.Font.FontStyle = "倾斜"#设置为斜体sht_Underline = sht.range((1,3)).api.Font.Underlineprint(sht_Underline)#2,为下划线sht.range((3,3)).value = "C3"sht.range((3,3)).api.Font.Underline = 2#设置下划线sht_style = sht.range((1,1),(1,5)).api.Borders.LineStyleprint(sht_style)#1#全框线sht.range((3,1),(3,3)).api.Borders.LineStyle = 1#设置全框线sht_HA_A1 = sht.range((1,1)).api.HorizontalAlignmentprint(sht_HA_A1)#水平左对齐#1sht_HA_A2 = sht.range((1,2)).api.HorizontalAlignmentprint(sht_HA_A2)#水平居中#-4108sht_HA_A5 = sht.range((1,5)).api.HorizontalAlignmentprint(sht_HA_A5)#水平右对齐#-4152sht_VA_A3 = sht.range((1,3)).api.VerticalAlignmentprint(sht_VA_A3)#垂直靠上#-4160sht_VA_A4 = sht.range((1,4)).api.VerticalAlignmentprint(sht_VA_A4)#垂直居中#-4108sht_VA_A5 = sht.range((1,5)).api.VerticalAlignmentprint(sht_VA_A5)#垂直靠下#-4107wb.save()xw.App().quit()

如果有任何问题,欢迎留言。

标签:

猜你喜欢
  • 支付宝能查个人征信吗?支付宝借呗贷款征信可以查到吗?

    支付宝能查个人征信吗?支付宝借呗贷款征信可以查到吗?
    支付宝能查个人征信吗?支付宝可以查个人征信,但不能查中国人民银行...
    2023-04-26 08:21:33
  • 期货模拟交易软件有哪些?股指期货交易方法是什么?

    期货模拟交易软件有哪些?股指期货交易方法是什么?
    期货模拟交易软件有哪些?1、金荣中国APP金荣中国(upwaytrack com ...
    2023-04-07 15:06:57
  • 余额宝收益什么时候到账?余额宝存入几天后有收益?

    余额宝收益什么时候到账?余额宝存入几天后有收益?
    余额宝收益什么时候到账?【1】转入时间为周一15:00(含15:00)~周二15...
    2023-03-23 09:18:51
  • 房贷还满一年退税是什么意思?住房公积金满一年可以贷款吗?

    房贷还满一年退税是什么意思?住房公积金满一年可以贷款吗?
    房贷还满一年退税是什么意思?房贷还满一年可以退税。房贷退税是指进...
    2023-03-09 13:18:16
  • 超龄打工有工伤保险吗?超龄怎么认定工伤?

    超龄打工有工伤保险吗?超龄怎么认定工伤?
    超龄打工有工伤保险吗?根据相关法律法规及司法实践,对于超过法定退...
    2023-02-28 15:30:49
  • 有花呗借呗可以贷款买房吗?花呗会影响征信吗?

    有花呗借呗可以贷款买房吗?花呗会影响征信吗?
    有花呗借呗可以贷款买房吗?有花呗借呗的贷款记录,只要没有逾期情况...
    2023-02-20 10:55:41
  • 七天通知存款是什么意思?七天通知存款可以手机银行支取吗?

    七天通知存款是什么意思?七天通知存款可以手机银行支取吗?
    七天通知存款是什么意思?七天通知存款是通知存款的一种,通知存款是...
    2023-02-17 15:55:01
  • 银行贷款一般几天下来?银行办理信贷多久到账?

    银行贷款一般几天下来?银行办理信贷多久到账?
    银行贷款一般几天下来?正常银行的贷款放款时间,都在7-30个工作日时...
    2023-02-16 09:28:07
  • 公积金提取条件是什么?公积金网上提取流程是怎样的?

    公积金提取条件是什么?公积金网上提取流程是怎样的?
    公积金提取条件是什么?1、购买、建造、翻建、大修自住住房的;2、达...
    2023-02-13 08:55:20
  • 公积金贷款利率和公积金缴纳多少有关吗?公积金贷款利率高吗?

    公积金贷款利率和公积金缴纳多少有关吗?公积金贷款利率高吗?
    公积金贷款利率和公积金缴纳多少有关吗?无关。公积金贷款利率是跟着...
    2023-02-10 11:18:25
  • 最近更新

    |关于我们 |联系我们 |网站地图 |广告服务

    Powered by    www.zbce.cn    中部财经网

    © 2013-2017   联系我们:55 16 53 8 @qq.com

    备案号:京ICP备2021034106号-59