当前位置: 首页 > 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…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...