制作网站账号系统,下载宝硬盘做网站,wdcp网站打不开,最新的跨境电商平台有哪些提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 python实现excel和word自动化--批量处理 前言--需求快要期末了需要#xff0c;提交一个年级的学生成绩数据#xff0c;也就是几百份。当前我们收集了一份excel表格#xf… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 python实现excel和word自动化--批量处理 前言--需求快要期末了需要提交一个年级的学生成绩数据也就是几百份。当前我们收集了一份excel表格它里面有学生的班级、姓名、成绩等信息。问题1 每个学生一个docx要 有不同的文件名要把文件名为 班级姓名 图片未改问题2 每个docx文件中 需要填写一些不一样的东西 比如 文件里要填写 二、答案来了艾佛森来了。于是我编写程序运行后就解决了这个问题生成了全年级的成绩并且文件名也按照excel表格的内容有序命名然后文件里的班级姓名也自动更改成功1.首先复制了需要的份数 -- 就是拿到一个docx样本然后进行批量复制文件名可以相同这里没有出来只是让他复制和execl表格一样的份数。2.读入数据就是去读xlsx中的数据代码我已经详细加了注释。这里需要注意xlrd1.2.0 下载这个版本的然后运行的时候还有一个地方要稍微改下代码网上搜索一下即可。这里有个函数就是operator_docx我放到后面讲解。这段代码的意思就是从xlsx取相应的几列数据我们要的给生成一个特定的文件名然后拼接好将旧的文件名改为新的。同时调用operator_docx函数把文件里的内容也替换掉。3.operator_docx():是我自己写的一个函数然后这里有很多注释代表打开docx文件然后可以小时docx的段落以及表格。可以帮助我去定位想要的修改的内容我就是这样精准的找到了想要替换的内容。因为传进来的参数刚好是要修改的所有此函数我放在了rename_from_excel中调用减少了一定的计算开销提升了性能。 二、完整代码如下1.完整代码2.运行结果而且里面的内容也已经全部正确就是班级和姓名 和文件名一一对应。 总结-- 有些操作可以放这里大家可以更好的根据自己的需求去出来自己的docx然后批量生成。1. 打开docx,查看内容2. 打开docx后如何修改我想要修改的那部分内容呢3. 打开xlsx如何获取想要的数据4. 写在最后主要我也最近着急交一份数据然后有感而发写的这份代码希望可以对大家有所作用我觉得python真的是一个很好用的工具前几天也用它登录12306抢票成功了呢大家可以去我的主页看看。我想继续学下去每天进步一点点重剑无锋大巧不工。 前言–需求
提示这里可以添加本文要记录的大概内容
快要期末了需要提交一个年级的学生成绩数据也就是几百份。当前我们收集了一份excel表格它里面有学生的班级、姓名、成绩等信息。 问题1 每个学生一个docx要 有不同的文件名要把文件名为 班级姓名 图片未改 问题2 每个docx文件中 需要填写一些不一样的东西 比如 文件里要填写 二、答案来了艾佛森来了。于是我编写程序运行后就解决了这个问题生成了全年级的成绩并且文件名也按照excel表格的内容有序命名然后文件里的班级姓名也自动更改成功
1.首先复制了需要的份数 – 就是拿到一个docx样本然后进行批量复制文件名可以相同这里没有出来只是让他复制和execl表格一样的份数。
def copy_files(original_file, num_copies):# 获取原始文件的目录和文件名不包括扩展名directory, file_base os.path.split(original_file)file_name, file_ext os.path.splitext(file_base)for i in range(1, num_copies 1):# 构建新文件名new_file_name f{file_name}_copy{i}{file_ext}new_file_path os.path.join(directory, new_file_name)# 复制文件shutil.copy2(original_file, new_file_path)print(fCopied to {new_file_path})if __name__ __main__:# 指定要复制的文件路径original_file_path E:\要交的赶紧搞\过程性评价表\G201-XXX.docxnumber_of_copies 304
2.读入数据就是去读xlsx中的数据代码我已经详细加了注释。这里需要注意xlrd1.2.0 下载这个版本的然后运行的时候还有一个地方要稍微改下代码网上搜索一下即可。这里有个函数就是operator_docx我放到后面讲解。这段代码的意思就是从xlsx取相应的几列数据我们要的给生成一个特定的文件名然后拼接好将旧的文件名改为新的。同时调用operator_docx函数把文件里的内容也替换掉。
def rename_from_excel():根据excel表格的内容批量修改文件名# excel表格所在的位置excel_path rE:\要交的赶紧搞\11过程性评价成绩--信.xlsx# 读取excel表批量处理测试.xlsxxlsx1 xlrd.open_workbook(excel_path)# 读取表格里第一个sheet工作簿sheet xlsx1.sheet_by_index(0)# 获取表格第二列数据 -- 班级class_list list(sheet.col_values(1))# 获取表格第四列数据 -- 姓名name_list list(sheet.col_values(3))print(class_list)print(name_list)# 获取该文件夹下所有的文件包括文件夹original_file_path E:\要交的赶紧搞\过程性评价表i 0file_names os.listdir(original_file_path)for file_name in file_names:original_rename os.path.join(original_file_path, file_name) # 获取所有文件的路径directory, file_base os.path.split(original_file_path)file_name, file_ext os.path.splitext(file_base)print(original_rename,original_rename)print(directory,directory)print(file_base,file_base)print(file_name,file_name)print(file_ext,file_ext)file_name class_list[i] - name_list[i] -信息技术过程性评价成绩第3学期.docxnew_file_path os.path.join(original_file_path, file_namefile_ext)print(new_file_path,new_file_path)os.rename(original_rename, new_file_path)operator_docx(new_file_path, class_list[i], name_list[i])i i 13.operator_docx():是我自己写的一个函数然后这里有很多注释代表打开docx文件然后可以小时docx的段落以及表格。可以帮助我去定位想要的修改的内容我就是这样精准的找到了想要替换的内容。因为传进来的参数刚好是要修改的所有此函数我放在了rename_from_excel中调用减少了一定的计算开销提升了性能。
def operator_docx(file_path,class_name, all_name):自动化操作--docx# 打开一个现有的Document对象doc Document(f{file_path})# paras list(doc.paragraphs)# print()# 遍历所有段落并打印其内容# for para in doc.paragraphs:# print(para.text)# print(doc.paragraphs[3].text)doc.paragraphs[3].text f学校XXX中学 班级{class_name} 学生姓名{all_name} 第 3学期/模块doc.save(f{file_path})# print(type(para))# print(type(paras))# print()# 遍历所有表格并打印其内容 -- 你可以去看看里面的内容# for table in doc.tables:# for row in table.rows:# for cell in row.cells:# print(cell.text, end\t)# print()二、完整代码如下
1.完整代码
import os
import shutil
import xlrd
from docx import Document
import pandasdef copy_files(original_file, num_copies):# 获取原始文件的目录和文件名不包括扩展名directory, file_base os.path.split(original_file)file_name, file_ext os.path.splitext(file_base)for i in range(1, num_copies 1):# 构建新文件名new_file_name f{file_name}_copy{i}{file_ext}new_file_path os.path.join(directory, new_file_name)# 复制文件shutil.copy2(original_file, new_file_path)print(fCopied to {new_file_path})def rename_from_excel():根据excel表格的内容批量修改文件名# excel表格所在的位置excel_path rE:\要交的赶紧搞\11过程性评价成绩--信.xlsx# 读取excel表批量处理测试.xlsxxlsx1 xlrd.open_workbook(excel_path)# 读取表格里第一个sheet工作簿sheet xlsx1.sheet_by_index(0)# 获取表格第二列数据 -- 班级class_list list(sheet.col_values(1))# 获取表格第四列数据 -- 姓名name_list list(sheet.col_values(3))print(class_list)print(name_list)# 获取该文件夹下所有的文件包括文件夹original_file_path E:\要交的赶紧搞\过程性评价表i 0file_names os.listdir(original_file_path)for file_name in file_names:original_rename os.path.join(original_file_path, file_name) # 获取所有文件的路径directory, file_base os.path.split(original_file_path)file_name, file_ext os.path.splitext(file_base)print(original_rename,original_rename)print(directory,directory)print(file_base,file_base)print(file_name,file_name)print(file_ext,file_ext)file_name class_list[i] - name_list[i] -信息技术过程性评价成绩第3学期.docxnew_file_path os.path.join(original_file_path, file_namefile_ext)print(new_file_path,new_file_path)os.rename(original_rename, new_file_path)operator_docx(new_file_path, class_list[i], name_list[i])i i 1
def operator_docx(file_path,class_name, all_name):自动化操作--docx# 打开一个现有的Document对象doc Document(f{file_path})# paras list(doc.paragraphs)# print()# 遍历所有段落并打印其内容# for para in doc.paragraphs:# print(para.text)# print(doc.paragraphs[3].text)doc.paragraphs[3].text f学校深圳市红岭教育集团大鹏华侨中学 班级{class_name} 学生姓名{all_name} 第 3学期/模块doc.save(f{file_path})# print(type(para))# print(type(paras))# print()# 遍历所有表格并打印其内容 -- 你可以去看看里面的内容# for table in doc.tables:# for row in table.rows:# for cell in row.cells:# print(cell.text, end\t)# print()if __name__ __main__:# 指定要复制的文件路径original_file_path E:\要交的赶紧搞\过程性评价表\G201-蔡承君.docxnumber_of_copies 304# 1.批量复制文件copy_files(original_file_path, number_of_copies)# 2.用excel的行名得到想要的文件名 -- 自动化操作函数operator_docxrename_from_excel()
2.运行结果而且里面的内容也已经全部正确就是班级和姓名 和文件名一一对应。 总结-- 有些操作可以放这里大家可以更好的根据自己的需求去出来自己的docx然后批量生成。
1. 打开docx,查看内容
from docx import Document# 打开一个现有的Document对象
doc Document(demo.docx)# 遍历所有段落并打印其内容
for para in doc.paragraphs:print(para.text)# 遍历所有表格并打印其内容
for table in doc.tables:for row in table.rows:for cell in row.cells:print(cell.text, end\t)print()
2. 打开docx后如何修改我想要修改的那部分内容呢
# 假设我们要修改第2个段落的内容
target_paragraph_index 1 # 注意索引从0开始所以第2个段落的索引是1# 确保文档中有足够的段落
if len(doc.paragraphs) target_paragraph_index:# 修改第2个段落的内容doc.paragraphs[target_paragraph_index].text 这是新的段落内容。# 保存修改后的文档
doc.save(modified_by_index_example.docx)3. 打开xlsx如何获取想要的数据 # excel表格所在的位置excel_path rE:\要交的赶紧搞\11过程性评价成绩--信.xlsx# 读取excel表批量处理测试.xlsxxlsx1 xlrd.open_workbook(excel_path)# 读取表格里第一个sheet工作簿sheet xlsx1.sheet_by_index(0)# 获取表格第二列数据 -- 班级class_list list(sheet.col_values(1))# 获取表格第四列数据 -- 姓名name_list list(sheet.col_values(3))print(class_list)print(name_list)# 获取该文件夹下所有的文件包括文件夹original_file_path E:\要交的赶紧搞\过程性评价表4. 写在最后主要我也最近着急交一份数据然后有感而发写的这份代码希望可以对大家有所作用我觉得python真的是一个很好用的工具前几天也用它登录12306抢票成功了呢大家可以去我的主页看看。我想继续学下去每天进步一点点重剑无锋大巧不工。 文章转载自: http://www.morning.cjxqx.cn.gov.cn.cjxqx.cn http://www.morning.pgzgy.cn.gov.cn.pgzgy.cn http://www.morning.blxor.com.gov.cn.blxor.com http://www.morning.rrgqq.cn.gov.cn.rrgqq.cn http://www.morning.kstgt.cn.gov.cn.kstgt.cn http://www.morning.bbmx.cn.gov.cn.bbmx.cn http://www.morning.baohum.com.gov.cn.baohum.com http://www.morning.xxrgt.cn.gov.cn.xxrgt.cn http://www.morning.schwr.cn.gov.cn.schwr.cn http://www.morning.rbmm.cn.gov.cn.rbmm.cn http://www.morning.bwjgb.cn.gov.cn.bwjgb.cn http://www.morning.ljxxl.cn.gov.cn.ljxxl.cn http://www.morning.yixingshengya.com.gov.cn.yixingshengya.com http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn http://www.morning.nlkhr.cn.gov.cn.nlkhr.cn http://www.morning.nlpbh.cn.gov.cn.nlpbh.cn http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com http://www.morning.rzbgn.cn.gov.cn.rzbgn.cn http://www.morning.kqxng.cn.gov.cn.kqxng.cn http://www.morning.nkdmd.cn.gov.cn.nkdmd.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.krnzm.cn.gov.cn.krnzm.cn http://www.morning.qxltp.cn.gov.cn.qxltp.cn http://www.morning.zlkps.cn.gov.cn.zlkps.cn http://www.morning.qwyms.cn.gov.cn.qwyms.cn http://www.morning.sqnrz.cn.gov.cn.sqnrz.cn http://www.morning.bpncd.cn.gov.cn.bpncd.cn http://www.morning.scjtr.cn.gov.cn.scjtr.cn http://www.morning.sbjhm.cn.gov.cn.sbjhm.cn http://www.morning.xrftt.cn.gov.cn.xrftt.cn http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn http://www.morning.xxrgt.cn.gov.cn.xxrgt.cn http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn http://www.morning.cmdfh.cn.gov.cn.cmdfh.cn http://www.morning.lmmh.cn.gov.cn.lmmh.cn http://www.morning.blqsr.cn.gov.cn.blqsr.cn http://www.morning.qrwdg.cn.gov.cn.qrwdg.cn http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn http://www.morning.wkkqw.cn.gov.cn.wkkqw.cn http://www.morning.zqcdl.cn.gov.cn.zqcdl.cn http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn http://www.morning.nxdqz.cn.gov.cn.nxdqz.cn http://www.morning.xfdkh.cn.gov.cn.xfdkh.cn http://www.morning.kxltf.cn.gov.cn.kxltf.cn http://www.morning.piekr.com.gov.cn.piekr.com http://www.morning.fpjxs.cn.gov.cn.fpjxs.cn http://www.morning.ryztl.cn.gov.cn.ryztl.cn http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn http://www.morning.nslwj.cn.gov.cn.nslwj.cn http://www.morning.saastob.com.gov.cn.saastob.com http://www.morning.qzzmc.cn.gov.cn.qzzmc.cn http://www.morning.rwzqn.cn.gov.cn.rwzqn.cn http://www.morning.kpygy.cn.gov.cn.kpygy.cn http://www.morning.ggcjf.cn.gov.cn.ggcjf.cn http://www.morning.zdsdn.cn.gov.cn.zdsdn.cn http://www.morning.knczz.cn.gov.cn.knczz.cn http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn http://www.morning.swzpx.cn.gov.cn.swzpx.cn http://www.morning.njftk.cn.gov.cn.njftk.cn http://www.morning.httzf.cn.gov.cn.httzf.cn http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.jmllh.cn.gov.cn.jmllh.cn http://www.morning.qfqld.cn.gov.cn.qfqld.cn http://www.morning.rhmt.cn.gov.cn.rhmt.cn http://www.morning.tbzcl.cn.gov.cn.tbzcl.cn http://www.morning.pqnpd.cn.gov.cn.pqnpd.cn http://www.morning.jwxnr.cn.gov.cn.jwxnr.cn http://www.morning.zgztn.cn.gov.cn.zgztn.cn http://www.morning.gjwkl.cn.gov.cn.gjwkl.cn http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn http://www.morning.xxgfl.cn.gov.cn.xxgfl.cn http://www.morning.czrcf.cn.gov.cn.czrcf.cn http://www.morning.qgzmz.cn.gov.cn.qgzmz.cn http://www.morning.ksbmx.cn.gov.cn.ksbmx.cn http://www.morning.wgqtj.cn.gov.cn.wgqtj.cn