【办公类-22-09】周计划系列(5-1)“周计划-01源文件docx统一名称“ (2024年调整版本)

效果展示:——周计划 统一文件后缀名

背景需求:

制作“周计划”,这是难度很高的批量修改(至少有4页内容需要填写),因此分几次说明、

本次是最简单的第1步——原素材调整文件名、统一后缀、去除空行

所有周计划系列4套的原文件调用前,都要先调整格式,统一后缀,取出空行

【办公类-22-06】周计划系列(1)“信息窗” (2024年调整版本)-CSDN博客文章浏览阅读265次,点赞9次,收藏10次。【办公类-22-06】周计划系列(1)“信息窗” (2024年调整版本)https://blog.csdn.net/reasonsummer/article/details/136270848

主要步骤:

1、doc更改,统一文件名长度

2、doc转docx

3、docx去掉回车符(空行)

4、手动提取word内容导入EXCEL

5、在word模板里,将EXCEL内容填入,保存多个docx

6、把docx转成png

6、把1张png切割成2张png(班级主页)

素材准备:

都是“04 周计划 ”下的内容

第01步:修改文件名 

代码展示:

1、先把‘’(‘为分割点,在增加周计划)

2、再把‘  ’为分割点,空格前面的字符(第X周)等于3,就加0,等于4就跳过

import os
import time


path =r"D:\test\02办公类\91周计划4份_2024年中4班\04 周计划\01doc"

fileList=os.listdir(path)

print(fileList)

for file in fileList:  

  # 如果格式不统一 提取所有的周次
  split_str = file.split('(')
  newname1 = split_str[0]  # _的第0部分=序号 
  print(newname1)
  newname2= split_str[1]  # _的第0部分=序号 
  print(newname2)
  newname=newname1+' 周计划('+newname2
  oldname_path = os.path.join(path,file)
  # 文件新路径
  newname_path = os.path.join(path,newname)
  # 新旧对调
  os.rename(oldname_path, newname_path)

# 延时
time.sleep(2)

fileList=os.listdir(path)

  
for file in fileList:   
    print(file)   
    # 第06周 周计划(春天来了).docx  已空格为分割点,
    split_str = file.split(' ')
    newname0 = split_str[0]  # 空格前面的长度
    print(len(newname0))
    # 计算“空格”前面的"第1周“的长度,如果等于3就加0,等于4就跳过
    if len(newname0)==3:
      split_str = file.split('第')
      # 用第为分割点,
      newname0 = split_str[0]
      newname2= split_str[1] 
      # 第前面+第0+第后面的所有内容
      newname=newname0+'第0'+newname2
      print(newname)

      oldname_path = os.path.join(path,file)
      # 文件新路径
      newname_path = os.path.join(path,newname)
      # 新旧对调
      os.rename(oldname_path, newname_path)
    if len(file)==4:     
      pass

  

终端显示——第XX周,带主题名称,有后缀

第2步:原有文件格式从doc变成docx

大部分已经是docx,只有一个文件是doc

代码说明

合并后后缀等于“doc+x”或“docx+x”,如果出现xx,就重新取名变成x ,

import os
from win32com import client as wc
import time
#  注意:目录的格式必须写成双反斜杠
path=r"D:\test\02办公类\91周计划4份_2024年中4班\04 周计划"
oldpath=path+r'\01doc'  # 使用绝对地址(可更改)原文件doc地址
newpath=path+r'\02docx'# 使用绝对地址(可更改)docx地址

# 提取所有doc内的19周doc周计划的路径

# 因为原始文件有doc和docx。所以写两个可能性
files=[]
for file in os.listdir(oldpath):
    # 找出文件中以.doc结尾并且不以~$开头的文件(~$是为了排除临时文件)
    if file.endswith('.doc') and not file.startswith('~$'): 
        files.append(oldpath+'\\'+file)
        print(files)

    if file.endswith('.docx') and not file.startswith('~$'): 
        files.append(oldpath+'\\'+file)
        print(files)

# 打开doc文件下的doc文件,另存到docx文件下的docx文件
for file in files:
    word = wc.Dispatch("Word.Application")
    print("已处理文件:"+file)
# #     # 打开文件
    doc = word.Documents.Open(file)
#     # # 将文件另存为到docx文件夹,另存为.docx

#   # 这里根据文件名称长度,因为文件名不是一样长短,所以要从前面开始确定切割点,不要最后的
    new=newpath+'\\'+file[43:]+'x'
    # 因为有doc和docx,所以会出现docxx的后缀
    if new[-2:]=='xx':        # 如果最后两个字符是xx
        new=new[:-2]+'x'         # 变成1个x
    else:
        pass
    print(new)
    doc.SaveAs("{}".format(new), 12)    # 12表示docx格式
    doc.Close()




           
 
 

第3步:删除docx里面的回车符

from docx import Document
from openpyxl import load_workbook
import glob

import os

path=r"D:\test\02办公类\91周计划4份_2024年中4班\04 周计划"
for file in glob.glob(path + r'\02docx\*.docx'):   # 读取所有以前的信息窗参考资料
    doc = Document(file)
    for paragraph in doc.paragraphs:  # 读取文档段落
        if len(paragraph.text) == 0:
            p = paragraph._element
            p.getparent().remove(p)
            p._p = p._element = None


       
    doc.save(path+r'\03去掉回车'+"\\"+file[45:])
# # ————————————————
# # 版权声明:本文为CSDN博主「lsjweiyi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
# # 原文链接:https://blog.csdn.net/lsjweiyi/article/details/121728630

以上三步是最简单的,因此放在一起,后续的word导入EXCEL相当复杂,
 

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值