word教育版(AI办公自动化:批量根据Excel表格内容制作Word文档)

wufei123 发布于 2024-09-22 阅读(1)

工作任务: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 openpyxlfrom docx import Documentimport osimport re# Excel 文件路径excel_path = rF:\AI自媒体内容\AI视频教程下载\udemy课程信息-部分-翻译版.xlsx

# Word 文档输出目录output_dir = rF:\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[fA{i}].valuepara1 = sheet[fB{i}].value

para2 = sheet[fC{i}].valuepara3 = sheet[fD{i}].valueif raw_file_name is None:print(f第{i}行的文件名为空,跳过该行)

continuefile_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(完成所有文档的创建.)

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。