用python实现自动填数生成表格v2.0

该博客介绍了一个Python脚本,它将v1.0中的数据源和填入位置两个Excel文件合并到一起,并根据数据生成多个输出文件。脚本首先检查模板和数据文件是否存在,然后读取数据并按照模板创建新的Excel文件,每个文件根据数据行填充相应内容。此过程适用于批量自动化处理数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个版本将v1.0中的数据源和填入位置两个excel合并到了一起了。

具体的话请看demo文件:

这里直接给出代码:

from openpyxl import Workbook
from openpyxl import load_workbook
import os
import datetime
import shutil

def now(year=True,month=True,day=True,hour=True,minute=True,second=True):
	def complete(x):
		return '0' + str(x) if x<10 else str(x)
	d = datetime.datetime.now()
	result = ''
	if year:
		result += str(d.year) + '-'
	if month:
		result += complete(d.month) + '-'
	if day:
		result += complete(d.day) + ' '
	if hour:
		result += complete(d.hour) + '-'
	if minute:
		result += complete(d.minute) + '-'
	if second:
		result += complete(d.second) + '-'
	return result[:-1] 

path = os.getcwd()


def run():
	print(now()+' 自动填数生成表格v2.0,开始任务,请稍候...')
	if not os.path.exists(os.getcwd() + '\\' + '模板.xlsx'):
		print('丢失模板.xlsx,请设置好文件再运行...')
		return

	template_name = os.getcwd() + '\\' + '模板.xlsx'

	if not os.path.exists(os.getcwd() + '\\' + '数据.xlsx'):
		print('丢失模板.xlsx,请设置好文件再运行...')
		return

	data_sheet = load_workbook(os.getcwd() + '\\' + '数据.xlsx').active


	lc = []
	for column in range(1,data_sheet.max_column+1):
		lc.append(str(data_sheet.cell(1,column).value).upper())

	outputfolder = 'output ' + now()
	if not os.path.exists(os.getcwd() + '\\' + outputfolder):
		os.mkdir(os.getcwd() + '\\' + outputfolder)
		for row in range(2,data_sheet.max_row+1):
			targetname = os.getcwd() + '\\' + outputfolder + '\\' + str(data_sheet.cell(row,1).value) +'.xlsx'
			shutil.copy(template_name,targetname)
			target = load_workbook(targetname)
			target_sheet = target.active
			for i in range(0,len(lc)):
				target_sheet[lc[i]] = data_sheet.cell(row,i+1).value
			target.save(targetname)


	print(now()+' 任务完成...')
	# except:
	# 	print('您的模板、数据源、填入位置可能填写有误,出现异常了,请好好检查再重新运行...')


run()
print('请输入任意键退出...')
input()

demo请看这里:https://download.youkuaiyun.com/download/sinolzeng/15432542

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值