我批量复制工作簿内容,没有报错,但是复制的内容是同一个工作簿内容,没有批量复制

import xlwings as xw
import os

def copyData(xlsList,dataList):
    app = xw.App(visible=False)
    data=[]
    for i in xlsList:
        for j in dataList:
            wb=xw.Book(i)
            sht=wb.sheets(1)
            values=sht.range('A1').expand('table').value
            data=values
            wb1=xw.Book(j)
            sht1=wb1.sheets(1)
            name1=i.split('\\')[3]
            name2=sht.name
            if name1==name2:
                sht1['a1'].value=data
            wb1.save()
            wb1.close()
            wb.close()
    app.quit()
    print('复制完成')

if __name__ == '__main__':
    path = os.path.abspath('.')
    dataList=[os.path.join(path+'\\'+'最新数据',j) for j in os.listdir(path+'\\'+'最新数据')if j[-5:]=='.xlsx']
    xlsList = [os.path.join(path + '\\' + '最新数据', s) for s in os.listdir(path + '\\' + '最新数据') if s[-4:] == '.xls']
    copyData(xlsList,dataList)

 

你这个用双循环不对吧,如果xlslist只有一个文件,datalist有很多个,不就反复覆盖xlslist中的这个文件内容吗?

 

sht1['a1'].value=data

这句覆盖掉了吧。复制xlsList中第一个文件到dataLsit中第1、2、3、4...个文件中,复制xlsList第二个文件内容到dataList中第1、2、3...个文件中,确定xlsList第二个文件的内容不会覆盖第一个吗?