AI办公自动化:批量根据Excel表格内容制作Word文档

工作任务:Excel表格中有大量文本,根据这些文本自动生成word文档

在chatgpt中输入提示词:

你是一个Python编程专家,写一个Python脚本,具体步骤如下:

读取Excel文件:"F:\AI自媒体内容\AI视频教程下载\udemy课程信息-部分-翻译版.xlsx";

读取A列第1行单元格内容,作为word文档的文件名,在文件夹“F:\AI自媒体内容\AI视频教程下载\新建文件夹”中新建word文档;

读取B列第1行单元格内容,作为word文档的第1段落,写入word文档;

读取C列第1行单元格内容,作为word文档的第2段落,写入word文档;

读取D列第1行单元格内容,作为word文档的第3段落,写入word文档;

循环以上步骤,直到第67行;

注意:每一步都要输出信息到屏幕

文件系统对文件名有一些限制,如不能包含某些特殊字符(如 :、/、*、?、<、>、|)。在文件名中可能存在这些非法字符,导致 python-docx 在保存文档时出现问题。需要在创建文件名之前清理这些非法字符。

源代码:

import openpyxl

from docx import Document

import os

import re

# Excel 文件路径

excel_path = r'F:\AI自媒体内容\AI视频教程下载\udemy课程信息-部分-翻译版.xlsx'

# Word 文档输出目录

output_dir = r'F:\AI自媒体内容\AI视频教程下载\新建文件夹'

# 创建输出目录如果不存在

if not os.path.exists(output_dir):

os.makedirs(output_dir)

print(f'创建输出目录: {output_dir}')

# 定义一个函数来清理文件名

def clean_filename(filename):

# 只保留字母、数字、空格和一些常用字符,其他字符都替换为下划线

return re.sub(r'[<>:"/\\|?*]', '_', filename)

# 打开 Excel 文件

wb = openpyxl.load_workbook(excel_path)

sheet = wb.active

# 遍历每一行 (假设第1行是表头,从第2行开始)

for i in range(2, 68):

raw_file_name = sheet[f'A{i}'].value

para1 = sheet[f'B{i}'].value

para2 = sheet[f'C{i}'].value

para3 = sheet[f'D{i}'].value

if raw_file_name is None:

print(f'第{i}行的文件名为空,跳过该行')

continue

file_name = clean_filename(raw_file_name)

word_file_path = os.path.join(output_dir, f'{file_name}.docx')

# 创建 Word 文档

doc = Document()

doc.add_paragraph(para1 if para1 else '')

doc.add_paragraph(para2 if para2 else '')

doc.add_paragraph(para3 if para3 else '')

# 保存 Word 文档

doc.save(word_file_path)

# 输出信息到屏幕

print(f'已创建 Word 文档: {word_file_path}')

print('完成所有文档的创建.')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值