关于Python用xlwings写入excel保持文本模式

业务背景:出于业务需求,需要把订单信息分类,再分发给一线同事,一线同事会根据分发的excel表信息分别对各区的业务进行分析。

数据处理背景:所有区域的数据都在同一个表中,需要将表中数据按照区域进行分类,分别发放给各个区域同事。比如,北区的数据发给北区,南区的发给南区。即:拆分工作表,至 各个工作簿

代码如下

通过此代码,实现了工作表分发至不同工作簿,如下 

但点开分发好的表后,有个致命问题,即订单号在excel中的保存,单元格模式为常规模式,而原表中的订单号格式为文本格式。我尝试了好几种方法,包括value['订单号’]='\t'+value['订单号’],更改dtype,converters={'订单号':str}等,都没有完美实现。要么就是格式依旧没改,要么就是改出来虽然在excel显示对了,但无法用再用vlookup(因为新生成的数据前带了“”)。

 

经过试错,发现解决问题的根本,在于将目标数据写入新表之前,把excel的单元格格式提前更改为文本格式,这样就能保持新表的订单号数据不会变,新表数据可以用vlookup。于是,在22行之前,写入如下代码即可解决

new_ws.range("N:N").api.NumberFormat = "@"   #因订单号所载列为N列,所以固定N列单元格格式为文本格式即可

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值