python使用xlwings操作表格

# -*- coding: UTF-8 -*-

##库安装的教程:包含mac和windows 
#https://zhuanlan.zhihu.com/p/107086691
import xlwings as xw

#创建excel实例,打开Excel
app = xw.App(visible = True,add_book = False)

#打开工作簿
target = app.books.open(r"/Users/jeremiahyuan/Desktop/11.xls")
source = app.books.open(r"/Users/jeremiahyuan/Desktop/22220191129.xls")

#在工作簿中打开工作表
sht_data = source.sheets["sheetname"]


ID_xz = "aaa"
ID_gx = "bbb"

#配合for循环用下标读取工作表设置的变量
n = 1

#循环范围需手动修改
for i in range(4,160):
    #获取原数据中身份证号,与户主关系,电话,姓名
    sfz = sht_data.range("I"+str(i)).value
    gx = sht_data.range("K"+str(i)).value
    tel = sht_data.range("AA"+str(i)).value
    name = sht_data.range("H"+str(i)).value

    print(sfz, gx, tel, name)

    if ((sht_data.range("E"+str(i)).value == ID_xz) and (sht_data.range("K"+str(i)).value == ID_gx)):
        #根据下标获取工作表
        sht = target.sheets["Sheet" + str(n)]
        #下面的数据是只在为户主的时候填写的
        print (str(i) + ":enter if")
        sht.range("C3").value = "xxxxx"+ID_xz
        
        #修改工作表名称
        sht.name = name
       
        #获取数据复制到新的表的对应位置     
        sht.range("C4").value = name
        sht.range("B9").value = name
        sht.range("A9").value = gx
        #身份证号码前加"'"可以完美复制
        sht.range("C9").value = "'"+sfz
        sht.range("F4").value = tel

        #n递增进入下一户人家
        n+= 1
        #m重新赋值1
        m = 1
    else:
        print ("enter else")         
        #获取数据复制到新的表的对应位置      
        sht.range("B"+str(m+9)).value = name
        sht.range("A"+str(m+9)).value = gx
        sht.range("C"+str(m+9)).value = "'"+sfz
        m+= 1

target.save()
target.close()
source.close()
app.quit()


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值