当前位置: 首页 > news >正文

20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵)

20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵)
2023/8/7 12:58

https://translate.google.com/?sl=en&tl=zh-CN&op=docs
缘起,由于google的文档翻译不支持SRT/TXT格式的字幕,因此需要将SRT格式的字幕转为DOCX。
Ch4.Unreported.World.2022.Mexicos.Psychedelic.Toads.1080p.HDTV.x265.AAC.MVGroup.org.mkv


1、ANSI编码的TXT文件转DOCX:
Ch4.Unreported.World.2022.Mexicos.Psychedelic.Toads.1080p.HDTV.x265.AAC.MVGroup.org_track3_eng.srt
直接使用记事本另存为ANSI编码的:ansi.txt
完成之后可以确认的!

 

 

 

 

!!!!
https://wenku.csdn.net/answer/2cd4b739868911ed9a8700163e34985e
将txt文本转换成doc格式文件,直接写python代码


可以使用 python-docx 库来将 txt 文件转换为 docx 格式文件。
首先,需要安装 python-docx 库:
pip install python-docx

然后,可以使用以下代码将 txt 文件转换为 docx 格式文件:
import docx
# 读取 txt 文件with open('input.txt', 'r') as f:
    text = f.read()
# 创建一个新的 docx 文档
document = docx.Document()
# 将 txt 文本写入文档
document.add_paragraph(text)
# 保存文档
document.save('output.docx')
上面的代码将会读取名为 input.txt 的 txt 文件,并将其内容写入一个新的 docx 文档中,最后保存为 output.docx 文件。


import docx

with open('ansi.txt', 'r') as f:
    text = f.read()

#docment = docx.Docment()
docment = docx.Document()

docment.add_paragraph(text)
docment.save('ansi.docx')


Microsoft Windows [版本 10.0.19044.2728]
(c) Microsoft Corporation。保留所有权利。

C:\Users\QQ>cd D:\ENG2DOCX

C:\Users\QQ>d:

D:\ENG2DOCX>dir
 驱动器 D 中的卷是 DATA
 卷的序列号是 547F-1046

 D:\ENG2DOCX 的目录

2023/08/07  18:00    <DIR>          .
2023/08/07  18:00    <DIR>          ..
2023/08/07  18:02               186 ansi.py
2023/08/07  13:03            26,294 ansi.txt
2022/12/15  10:46            26,297 Ch4.Unreported.World.2022.Mexicos.Psychedelic.Toads.1080p.HDTV.x265.AAC.MVGroup.org_track3_eng.srt
2023/08/07  10:18               278 utf8.py
2023/08/07  10:17            26,294 utf8.txt
               5 个文件         79,349 字节
               2 个目录 272,317,231,104 可用字节

D:\ENG2DOCX>
D:\ENG2DOCX>python ansi.py

D:\ENG2DOCX>dir
 驱动器 D 中的卷是 DATA
 卷的序列号是 547F-1046

 D:\ENG2DOCX 的目录

2023/08/07  18:03    <DIR>          .
2023/08/07  18:03    <DIR>          ..
2023/08/07  18:03            47,533 ansi.docx
2023/08/07  18:02               186 ansi.py
2023/08/07  13:03            26,294 ansi.txt
2022/12/15  10:46            26,297 Ch4.Unreported.World.2022.Mexicos.Psychedelic.Toads.1080p.HDTV.x265.AAC.MVGroup.org_track3_eng.srt
2023/08/07  10:18               278 utf8.py
2023/08/07  10:17            26,294 utf8.txt
               6 个文件        126,882 字节
               2 个目录 272,317,181,952 可用字节

D:\ENG2DOCX>

 

 

 

 

 

 

 

 

 

 

 


注意,如果 txt 文件中包含中文字符,可能会出现乱码问题。这时可以使用 codecs 库来解决这个问题:
import codecs
import docx
# 读取 txt 文件,使用 codecs 库的 open 方法,指定编码为 utf-8with codecs.open('input.txt', 'r', 'utf-8') as f:
    text = f.read()
# 创建一个新的 docx 文档
document = docx.Document()
# 将 txt 文本写入文档
document.add_paragraph(text)
# 保存文档
document.save('output.docx')复制代码
这样就可以将 txt 文本转换为 docx 格式文件,并且避免中文字符乱码的问题。


#docment.save('ansi.docx')


import codecs
import docx

with codecs.open('utf8.txt', 'r', 'utf-8') as f:
    text = f.read()

#docment = docx.Docment()
docment = docx.Document()

docment.add_paragraph(text)
docment.save('utf8.docx')


D:\ENG2DOCX>
D:\ENG2DOCX>
D:\ENG2DOCX>dir
 驱动器 D 中的卷是 DATA
 卷的序列号是 547F-1046

 D:\ENG2DOCX 的目录

2023/08/07  18:06    <DIR>          .
2023/08/07  18:06    <DIR>          ..
2023/08/07  18:03            47,533 ansi.docx
2023/08/07  18:02               186 ansi.py
2023/08/07  13:03            26,294 ansi.txt
2022/12/15  10:46            26,297 Ch4.Unreported.World.2022.Mexicos.Psychedelic.Toads.1080p.HDTV.x265.AAC.MVGroup.org_track3_eng.srt
2023/08/07  18:06            26,294 docx2ansi.txt
2023/08/07  18:09               217 utf8.py
2023/08/07  10:17            26,294 utf8.txt
               7 个文件        153,115 字节
               2 个目录 272,315,310,080 可用字节

D:\ENG2DOCX>
D:\ENG2DOCX>
D:\ENG2DOCX>python utf8.py

D:\ENG2DOCX>dir
 驱动器 D 中的卷是 DATA
 卷的序列号是 547F-1046

 D:\ENG2DOCX 的目录

2023/08/07  18:12    <DIR>          .
2023/08/07  18:12    <DIR>          ..
2023/08/07  18:03            47,533 ansi.docx
2023/08/07  18:02               186 ansi.py
2023/08/07  13:03            26,294 ansi.txt
2022/12/15  10:46            26,297 Ch4.Unreported.World.2022.Mexicos.Psychedelic.Toads.1080p.HDTV.x265.AAC.MVGroup.org_track3_eng.srt
2023/08/07  18:06            26,294 docx2ansi.txt
2023/08/07  18:12            47,746 utf8.docx
2023/08/07  18:09               217 utf8.py
2023/08/07  10:17            26,294 utf8.txt
               8 个文件        200,861 字节
               2 个目录 272,315,260,928 可用字节

D:\ENG2DOCX>

 

 

 

 


http://huijobs.cn/article/article-detail/11600/
python实现txt转word
2022年11月17日 23:06

def TXTRead_Writeline():
    ms=open("./file/test.txt") #读取文件
    for line in ms.readlines(): #逐行写入
        with open("./file/test.doc","a") as mon:
            mon.write(line)
TXTRead_Writeline()


LOG:
Type "help", "copyright", "credits" or "license" for more information.
>>> import docx
>>> ms=open("ansi.txt")
>>> print(ms)
<_io.TextIOWrapper name='ansi.txt' mode='r' encoding='cp936'>
>>> for line in ms.readlines():
...     with open("test.docx","a") as mon:
...             mon.write(line)
...
2
30
27

 


test.py【将ANSI编码的TXT可以转换为DOC或者DOCX】
import docx
ms=open("ansi.txt")
#print(ms)

for line in ms.readlines():
        #with open("test.doc","a") as mon:
        with open("test.docx","a") as mon:
            mon.write(line)


参考资料:
https://blog.51cto.com/u_16175451/6829720
python怎么给txt文档添加换行符


https://www.zhihu.com/question/29948454/answer/2774476613?utm_id=0
请问python怎么做到在写入的TXT中换行?

line = line.strip('\n')

https://blog.csdn.net/u010565244/article/details/19193635
关于python 的line.strip()方法


python utf-8 txt 转 DOCX 多一个换行
【貌似有道理,但是没有实现】
https://www.jianshu.com/p/7307262a6197
使用python批量转换编码时多余换行的问题

最近使用python批量将项目中的GBK编码文件转换为UTF8时遇到了会自动给每一行结尾多添加一个换行符的问题这样会导致多行宏命令失效

原因是使用文本读写模式 ‘w’ ‘r’

修改为使用 ‘wb’ ‘rb’ 使用二进制接收在使用utf8编码为str然后以二进制方式写入就可以了


python write 换行
python txt 转 DOCX
Python TXT 转 DOCX 多换行
python utf8转gbk
https://blog.csdn.net/qq_40845077/article/details/124872708
Python代码——实现txt转docx


https://blog.csdn.net/qq_40837206/article/details/130323856
python实现txt与docx互转


https://codeleading.com/article/62046304563/
Python代码——实现txt转docx


https://blog.csdn.net/qq_33005553/article/details/124755791
python 去除 txt文本换行

python 递归读取
https://blog.51cto.com/love51/6389966
python递归获取文件 python 递归文件夹


https://www.bilibili.com/read/cv13745103/
Python代码——实现txt转docx


https://zhuanlan.zhihu.com/p/564678085
Python txt文件转word 格式

相关文章:

20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵)

20230807在WIN10下使用python3将TXT文件转换为DOCX&#xff08;在UTF8编码下转换为DOCX有多一行的瑕疵&#xff09; 2023/8/7 12:58 https://translate.google.com/?slen&tlzh-CN&opdocs 缘起&#xff0c;由于google的文档翻译不支持SRT/TXT格式的字幕&#xff0c;因此…...

Flutter(八)事件处理与通知

1.原始指针事件处理 一次完整的事件分为三个阶段&#xff1a;手指按下、手指移动、和手指抬起&#xff0c;而更高级别的手势&#xff08;如点击、双击、拖动等&#xff09;都是基于这些原始事件的。 Listener 组件 Flutter中可以使用Listener来监听原始触摸事件 Listener({…...

Java,python,c#,js,c++搞量化交易的接口大全

股票基金api接口地址&#xff1a;https://stockapi.com.cn 不想自己写的&#xff1a;https://stockapi.com.cn 除了牛逼&#xff0c;只剩下牛逼&#xff0c;除了方便&#xff0c;只剩下方便&#xff0c;python不是唯一的量化编程语言 接口说明&#xff1a;日线macd指标 https:/…...

javaAPI(一):String

String的特性 String底层源码 1、String声明为final&#xff0c;不可被继承 2、String实现了Serializable接口&#xff1a;表示字符支持序列化 实现了Comparable接口&#xff1a;表示String可以比较大小 3、String内部定义了final char[] value用于存储字符串 4、通过字面量的…...

数据互通,版本管理优化图文档与BOM数据

在现代企业的产品开发过程中&#xff0c;图文档和BOM数据是不可或缺的关键要素。图文档记录了产品的设计和工程信息&#xff0c;而BOM数据则明确了产品所需物料的清单和规格。然而&#xff0c;由于数据的复杂性和版本变更的频繁性&#xff0c;图文档与BOM数据之间的协作和管理常…...

【CSS】旋转中的视差效果

效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible" content"IEedge"/><meta name"viewport" content"widthdevice-…...

【ASP.NET MVC】使用动软(一)(9)

一、解决的问题 前文为解决数据库操作设计的 TestMysql 类&#xff0c;仅简单地封装了一个Query函数&#xff0c;代码如下&#xff1a; public class TestMysql{public static string SqlserverConnectStr "server127.0.0.1;charsetutf8;user idroot;persistsecurityin…...

【Jsp课设】3款基于JavaWeb的学生选课管理系统

项目介绍&#xff1a;后端采用JspServlet。前端使用的是Layui的一个网站模板。开发一个在线的学生选课管理系统&#xff0c;用于课程设计的使用。 项目类型&#xff1a;JavaWeb源码 用户类型&#xff1a;2个角色&#xff08;管理员学生&#xff09; 主要技术&#xff1a;JspSe…...

系统架构设计师笔记第35期:表现层框架设计

表现层框架设计是指在软件系统中&#xff0c;将用户界面&#xff08;UI&#xff09;和用户交互逻辑与后端业务逻辑分离&#xff0c;使用特定的框架来组织和管理表现层的功能和结构。下面是表现层框架设计的一般步骤和常用技术&#xff1a; 确定需求和功能&#xff1a;首先&…...

力扣 -- 467. 环绕字符串中唯一的子字符串

一、题目 二、解题步骤 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码 class Solution { public:int findSubstringInWraproundString(string s) {int ns.size();vector<int> dp(n,1);int re…...

Hi3798MV200 恩兔N2 NS-1 (四): 制作 Debian rootfs

目录 Hi3798MV200 恩兔N2 NS-1 (一): 设备介绍和刷机说明Hi3798MV200 恩兔N2 NS-1 (二): HiNAS海纳思使用和修改Hi3798MV200 恩兔N2 NS-1 (三): 制作 Ubuntu rootfsHi3798MV200 恩兔N2 NS-1 (四): 制作 Debian rootfs 关于 Debian rootfs Debian 没有像 Ubuntu 提供 Ubuntu-…...

面试热题(字符串相加)

给定两个字符串形式的非负整数 num1 和num2 &#xff0c;计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库&#xff08;比如 BigInteger&#xff09;&#xff0c; 也不能直接将输入的字符串转换为整数形式。 输入&#xff1a;num1 "11"…...

我的创作纪念日【第一个2048day】

机缘 初心&#xff1a;研究生期间&#xff0c;帮老师做一个项目&#xff0c;过程中学习的东西想记录下来&#xff0c;于是&#xff0c;就选择了CADN让技术分享成为工作的一部分 收获 获得了1800多粉丝的关注获得了63万的访问量&#xff0c;其中《C#设计模式》专栏深受大家喜欢…...

内网穿透-————SSH远程连接树莓派

前言 文章目录 前言内网穿透实现公网SSH远程连接树莓派1. 在树莓派上安装[cpolar客户端](https://www.cpolar.com/)2. 在树莓派浏览器中输入本地9200端口3. 在公共互联网的电脑的命令行界面输入命令 内网穿透实现公网SSH远程连接树莓派 随着科技的进步和信息技术的发展&#x…...

一键开启ChatGPT“危险发言”

‍ ‍ 大数据文摘授权转载自学术头条 作者&#xff1a;Hazel Yan 编辑&#xff1a;佩奇 随着大模型技术的普及&#xff0c;AI 聊天机器人已成为社交娱乐、客户服务和教育辅助的常见工具之一。 然而&#xff0c;不安全的 AI 聊天机器人可能会被部分人用于传播虚假信息、操纵舆…...

RISC-V基础之函数调用(一)简单的函数调用(包含实例)

高级语言支持函数&#xff08;也称为过程或子程序&#xff09;来重用通用的代码&#xff0c;以及使程序更加模块化和可读。函数可以有输入&#xff0c;称为参数&#xff0c;和输出&#xff0c;称为返回值。函数应该计算返回值&#xff0c;并且不产生其他意外的副作用。 在一个…...

apt、aptitude、apt-get/apt-cache语法的区别

apt句法 aptitude句法 apt-get/apt-cache语法 描述 apt update aptitude update apt-get update 更新包存档元数据 apt install foo ap...

华为认证 | HCIA和HCIP有啥区别?

HCIA和HCIP都是华为认证体系里的&#xff0c;所以它们的考试流程大同小异&#xff0c;唯一区别的话&#xff0c;那可能就是课程内容方面的区别较大了。 那么HCIA和HCIP考试有啥区别呢&#xff1f;下面我们就来跟随小编来了解一下吧。 01 HCIA和HCIP考试有啥区别 ★ 等级不同 …...

JavaScript基础知识

JavaScript基础知识 一、变量与数据类型1. 变量2. 数据类型 二、表达式与运算符1.字面量2.表达式3.运算符3.1 算术运算符3.2 比较运算符3.3 逻辑运算符3.4 赋值运算符 三、条件语句1. 控制流程2. 语句块3. if 语句3. switch 语句4. 条件运算符 四、循环语句1. while2. do...whi…...

vue2 todoapp案例(静态)

1.创建三个子组件(TodoHeader、TodoMain、TodoFooter)和两个(index.css、base.css)样式&#xff1b; TodoHeader页面 <template><header class"header"><h1>todos</h1><input id"toggle-all" class"toggle-all" typ…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)

引言 在嵌入式系统中&#xff0c;用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例&#xff0c;介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单&#xff0c;执行相应操作&#xff0c;并提供平滑的滚动动画效果。 本文设计了一个…...

C++11 constexpr和字面类型:从入门到精通

文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...