不是专业码农。
朋友课题遇到一个问题:调研了90个人,有14个sheet的数据(每个人的数据在14个sheet里面都有),位置也相同,比如张三的数据,在14个sheet里面都是在18行。
需要把其中16个人的数据拿出来,还是这14个sheet的表头和格式(类似问题,另一个同事拿来了另外80个人同类型数据,要合并到一个表里)
pip install xlwings? ?安装不多说了。
下面是代码,也实现了跳行复制。
# py文件,excel表放在同一个目录
import xlwings as xw
oldpath='1.xlsx' #需要复制的表
newpath='2.xlsx' #要复制到的新表
wbold=xw.Book(oldpath) #打开旧表
sht=wbold.sheets[0] #打开第一个sheet
k = 13 #在第几行开始写入
#for j in [5,6,8,9,23]: #要复制的行数,可以跳行
for j in range(4,21): #要复制的行数,不可以跳行
i = 0
while i < 14: #循环多少个sheet
a1=sht.range('A{}:AZ{}'.format(j,j)).value #如果列数很多,就扩展
wbnew=xw.Book(newpath)
wbnew.sheets[i].range('A{}:AZ{}'.format(k,k)).value=a1
i +=1
k +=1
找了一天教程,大家都是从头讲起.....头大 。
希望能解决有次问题的,没有代码基础的同学们。
|