python代码:
import os
import sys
import datetime
import xlwings as xw
配置方案集=[]
全部文件=os.listdir()
for i in 全部文件:
if os.path.splitext(i)[1] == '.cfg':
配置方案集.append(i)
while True:
for j in range(len(配置方案集)):
print(j+1, 配置方案集[j])
方案序号=input('请选择方案(输入数字):')
if 方案序号.isdigit():
break
f=open(配置方案集[int(方案序号)-1],'r',encoding='utf-8')
数据源目录=f.readline().strip('\n')
if not os.path.exists(os.getcwd()+os.sep+数据源目录):
print('找不到目录:',os.getcwd()+os.sep+数据源目录,'\n程序即将关闭。')
os.system('pause')
sys.exit()
表头=f.readline().strip('\n').split('-')
单元格=f.readline().strip('\n').split('-')
全部数据文件=os.listdir(数据源目录)
可用数据文件=[]
for i in 全部数据文件:
if os.path.splitext(i)[1] == '.xlsx' or os.path.splitext(i)[1] == '.xls':
if 0 <= i.find('~'):
continue
可用数据文件.append(os.getcwd()+os.sep+数据源目录+os.sep+i)
app = xw.App(visible=False, add_book=False)
outWB = app.books.add()
outWB.sheets[0].clear()
outWB.sheets[0].range('A:XFD').api.NumberFormat = "@"
outWB.sheets[0].range('A1').value=表头
k=2
for i in 可用数据文件:
wb = app.books.open(i)
ws = wb.sheets[0]
t = []
for j in 单元格:
if type(datetime.datetime.now())==type(ws.range(j).value):
t.append(ws.range(j).value.strftime('%Y-%m-%d'))
else:
t.append(ws.range(j).value)
outWB.sheets[0].range((k, 1)).value = t
k = k + 1
wb.close()
时间戳=datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
outWB.save(os.getcwd()+os.sep+数据源目录+os.sep+'~结果'+ 时间戳 +'.xlsx')
outWB.close()
app.quit()
print('完成。\n','~结果'+ 时间戳 +'.xlsx','\n程序即将关闭。')
os.system('pause')
CFG文件格
二分公司
单位全称-姓名-性别-民族
H2-H3-E4-K4
第一行:数据单表所在目录 第二行:表头 第三行:单表数据对应表头所在的单元格地址
|