用python实现自动填数生成表格v2.0
生活随笔
收集整理的這篇文章主要介紹了
用python实现自动填数生成表格v2.0
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個版本將v1.0中的數據源和填入位置兩個excel合并到了一起了。
具體的話請看demo文件:
這里直接給出代碼:
from openpyxl import Workbook from openpyxl import load_workbook import os import datetime import shutildef 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,請設置好文件再運行...')returntemplate_name = os.getcwd() + '\\' + '模板.xlsx'if not os.path.exists(os.getcwd() + '\\' + '數據.xlsx'):print('丟失模板.xlsx,請設置好文件再運行...')returndata_sheet = load_workbook(os.getcwd() + '\\' + '數據.xlsx').activelc = []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.activefor i in range(0,len(lc)):target_sheet[lc[i]] = data_sheet.cell(row,i+1).valuetarget.save(targetname)print(now()+' 任務完成...')# except:# print('您的模板、數據源、填入位置可能填寫有誤,出現異常了,請好好檢查再重新運行...')run() print('請輸入任意鍵退出...') input()demo請看這里:https://download.csdn.net/download/sinolzeng/15432542
總結
以上是生活随笔為你收集整理的用python实现自动填数生成表格v2.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python实现自动填数生成表格v1.
- 下一篇: websocket python爬虫_p