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第二个文件的内容不会覆盖第一个吗?