AI办公自动化:批量把docx文档转换为txt文本

任务:把docx文档批量转换成txt,首先让deepseek写了一段代码,但是转换失败。用的是最流行的python-docx库来读取docx文档,但是始终无法读取成功,换成pywin32库就解决问题了。

在deepseek中输入提示词:

写一个Python脚本,打开文件夹:F:\AI自媒体内容\,用pywin32库把里面所有的docx文档内容读取出来,然后保存到txt文档中,文件名保持一致,也保存在同一个文件夹中。一步步的思考,但是代码都整合在一起

源代码:

import os

import win32com.client as win32

# 定义源文件夹路径

source_folder = r'F:\AI自媒体内容'

# 初始化Word应用程序

word_app = win32.gencache.EnsureDispatch('Word.Application')

word_app.Visible = False # 设置Word应用程序为不可见

# 遍历文件夹中的所有.docx文件

for filename in os.listdir(source_folder):

if filename.endswith('.docx'):

# 构建完整的文件路径

file_path = os.path.join(source_folder, filename)

# 打开.docx文件

try:

doc = word_app.Documents.Open(file_path)

except Exception as e:

print(f"无法打开文件 {filename},错误信息:{e}")

continue

# 读取文档内容

content = doc.Content.Text

# 创建新的.txt文件名

txt_filename = filename.replace('.docx', '.txt')

# 将内容写入.txt文件

with open(os.path.join(source_folder, txt_filename), 'w', encoding='utf-8') as f:

f.write(content)

# 关闭Word文档

doc.Close()

print(f"文件 {filename} 已成功转换为 {txt_filename}")

# 关闭Word应用程序

word_app.Quit()

print("转换完成!")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「前端+鸿蒙」鸿蒙应用开发-真机运行

在鸿蒙应用开发中,真机运行是验证应用在实际硬件上表现的重要步骤。以下是如何在华为DevEco Studio中配置真机运行的详细步骤,以及相应的示例代码。 快速体验-真机运行 准备工作: 确保您的鸿蒙设备已开启开发者模式,并启用USB调试…

部件库(Widget Factory)

部件库(Widget Factory) 部件库,也被称为Widget Factory,是一个强大的工具,用于创建、存储和管理可重用的软件组件。在本文中,我们将深入探讨部件库的概念、重要性、以及如何在现代软件开发中使用它。 什么是部件库? 部件库是一个集合,其中包含了各种预先构建的软件…

c++ 简单的日志类 CCLog

此日志类,简单地实现了向标准输出控制台和文件输出日志信息的功能,并能在这两者之间进行切换输出,满足输出日志的不同需求。 代码如下: /** CCLog.h* c_common_codes** Created by xichen on 12-1-12.* Copyright 2012 cc_te…

40.任务调度线程池

Timer(废弃) 在任务调度线程池功能加入之前,可以使用java.util.Timer来实现定时功能,Timer优点在于简单易用,缺点是由于所有的任务都是由同一个线程来调度,因此所有的任务都是串行执行,同一时间只能有一个任务在执行,前一个任务的延迟和异常都将会影响之后的任务。 T…

【背包-BM70 兑换零钱(一)】

题目 BM70 兑换零钱(一) 描述 给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。 如果无解,…

docker 命令 ps,inspect,top,logs详解

docker常用命令教程-4 docker ps docker ps 命令用于列出当前正在运行的容器。默认情况下,它只显示正在运行的容器,但你可以使用 -a 或 --all 选项来显示所有容器(包括已停止的容器)。 常用的选项和示例: -a 或 --…

【C语言题解】1、写一个宏来计算结构体中某成员相对于首地址的偏移量;2、写一个宏来交换一个整数二进制的奇偶位

🥰欢迎关注 轻松拿捏C语言系列,来和 小哇 一起进步!✊ 🌈感谢大家的阅读、点赞、收藏和关注 💕希望大家喜欢我本次的讲解💕 目录👑 1、写一个宏,计算结构体中某变量相对于首地址的偏…

UE4获取动画序列资产的动画时长

谢谢”朝闻道“大佬的指点~

(UE4.26)UE4的FArchive序列化入门

前言 序列化(Serialize)和反序列化(UnSerialize)是程序领域常见的概念。对于这两个词汇我理解的是 序列化(Serialize): 变量值(int, float, string等基本类型, 或者Array,Map,或者更复杂的复合体)存储为一个文件(二进制流, 二进制文件, json, xml等格式…

C++并发之互斥(std::mutex)

目录 1 概述2 使用实例3 接口使用3.1 mutex3.2 lock3.3 try_lock3.4 unlock1 概述 互斥锁是一个可锁定的对象,用于在代码的关键部分需要独占访问时发出信号,防止具有相同保护的其他线程同时执行并访问相同的内存位置。   互斥对象提供独占所有权,不支持递归性(即,线程不…

Windows 找不到文件‘shell:sendto‘。请确定文件名是否正确后,再试一次

执行“shell:sendto”命令的时候,报错:Windows 找不到文件’shell:sendto’。请确定文件名是否正确后,再试一次 解决办法: 在桌面新建一个记事本文件命名为fix.reg,注意后缀是reg,文件中填写以下内容&…

快速入门和学习Qt 6.3的技巧

#qt6.3 Qt 6.3 是一个强大且多功能的跨平台应用开发框架,适用于开发桌面、移动和嵌入式系统应用。本文将介绍一些学习Qt 6.3的技巧和快速入门的方法,帮助你高效掌握这一技术。 一、理解Qt 6.3的基础架构 模块结构:Qt 6.3 由多个模块组成&a…

若依 Spring Security 短信,扫码登录

1. 修改 LoginBody,添加登录类型字段 Data public class LoginBody {/*** 用户名*/private String username;/*** 用户密码*/private String password;/*** 验证码*/private String code;/*** 唯一标识*/private String uuid;/*** 登录类型*/private String logi…

应对转租、混租、群租,天诚人脸物联网智能门锁与公租房管理系统有一套!

“住房”关系着老百姓的切身利益和幸福指数。近年来,全国各地掀起了保障性住房建设热潮,积极有序推进智慧公租房小区打造,助力共同富裕。 一、公租房入住对象界定 公租房的受众群体各地标准不一,却也大同小异。重庆市公共租赁房…

【安装笔记-20240607-Linux-在 OpenWrt-23.05 上安装配置域名服务器】

安装笔记-系列文章目录 安装笔记-20240607-Linux-在 OpenWrt-23.05 上安装配置域名服务器 文章目录 安装笔记-系列文章目录安装笔记-20240607-Linux-在 OpenWrt-23.05 上安装配置域名服务器 前言一、软件介绍名称:Bind9主页官方介绍 二、安装步骤测试版本&#xff…

Liunx环境下redis主从集群搭建(保姆级教学)01

Linux 环境安装redis 准备一台linux虚拟机 我使用基于Linux的开源类服务器操作系统CentOS7。 打开虚拟机,输入密码登录 下载linux版本的redis安装包 已经下载redis-5.0.10.tar.gz 创建一个文件夹用来安装redis,我在/opt目录下创建redis文件夹 将下载好的redis…

Windows 更新根文件夹的修改时间

简介: Win10 系统不会根据深层目录文件更新主目录的修改时间. 一般解决办法是关闭 Winodws 搜索引擎。 win10文件夹不能自动更新了怎么办?_百度知道 本脚本通过递归遍历子目录和子文件,来更新根目录的时间。 使用内层目录和当前目录下的最新…

【微信小程序】uni-app 配置网络请求

原因 由于平台的限制,小程序项目中 不支持axios,而且原生的,wx.request()API功能较为简单,不支持拦截器等全局定制的功能。因此,建议在uni-app项目中使用 escook/request-miniprogram 第三方包发起网络数据请求。 步…

Go go-redis应用

go-redis 是 Go 语言的一个流行的 Redis 客户端库,它提供了丰富的功能来与 Redis 数据库进行交互。 1、简单应用 package mainimport ("context""fmt""log""github.com/redis/go-redis/v9" )func main() {ctx : context…

接口幂等性设计(5 大方案罗列)

结合案例、列举场景的接口幂等性设计方案。 方案 1. 状态机 业务场景,数据审核成功后进行短信通知,或者是订单状态变成已支付后,短信通知用户订单生成的详细信息,等等和状态有关的操作。 假设 status:0(待…