网站客服:zx81024163 |

利用python将docx文件转为txt

2023-10-27 23:01:10发布    浏览670次    信息编号:80715

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

利用python将docx文件转为txt

背景:工作中,需要将文件夹中的几个word文件docx转换为对应的txt文本格式。

因此,需要读取docx中的中文文本,并保存为txt格式。

转换 docx 文件

所需模块为 -docx: ,导入模块时导入 docx

(只能读取.docx文件,无法读取.doc文件)

注意PyPi中还有一个叫docx的库,已经停止更新,不建议使用)

文档

来自文档

路径 = "C:\\Users\\\\\\word.docx"

=(路径)

对于在 .:

打印(.文本)

上述方法只能读取docx文件。 如果你读doc,会报错。

结果是错误:docx.opc..:未找到。 仍然无法识别文档

“更改扩展名并不会改变其编码方式,因此无法读取文本内容。需要使用word将doc文件另存为docx,然后使用-docx读取其内容。”

转换文档文件

对于要转换的doc文件,网上的资料都是使用win32,需要安装。

出现的问题:

通过上面的方法,有时可以直接将doc转换为txt文件,但有时会报错。

这里我们可以考虑通过上面的方法将doc文件直接转换为docx然后读入txt。 如果手动修改doc为txt或docx,打开文件会显示乱码,但是可以使用提供的方法来使用.doc文档。 手动“另存为”.docx 文档,即可成功打开转换后的.docx 文档。

文档(tmp +'.docx', 16)

16的含义如下:

使用接口直接调用API的优点是简单、兼容性好。 只要能加工的都可以加工。 处理后的结果与Word中的“另存为”一致。

下面是2007支持的所有文件格式对应表:

= 0

= 0

终极 = 16

= 4

次数 = 5

= 7

= 10

= 19

= 20

吃了 = 21

= 22

= 8

= 17

= 6

= 1

= 1

= 2

KS = 3

= 7

= 9

= 11

= 12

= 13

= 14

= 15

= 18

根据字面意思,应该能够对应到相应的文件格式。

docx模块使用

1、创建或者打开一个文件。这个比较简单,使用了docx类。 如果指定路径,则打开文档; 如果未指定路径,将创建该文档。

#:utf-8

文档

= docx.()#新建文档

doc = docx.(ur'C:\1.docx')#阅读文档

2. 保存文件。 如果你打开它,你就会保存它。 使用类的save方法,参数为要保存的文件路径,或者是要保存的文件流。 一般情况下,指定路径即可。

文档.保存()

3.对象集合。 -docx 包含 Word 文档的相关对象的集合。

doc.#段落集合

doc.#表格集合

doc.# 节集合

doc.#风格集合

doc.#内置图形等...

4. 插入段落。 段落是 Word 中最基本的对象之一。

doc.(u'first ',style=None)#插入一个段落,文字为“first ”#默认不应用样式,这里也可以不写style参数,或者指定一个段落样式

doc.(u'第二段',style='2')#这些样式是word的默认样式。 您可以直接列出段落样式。

打印[s...类型==1]

5.添加新样式。 这个帮助文档解释的不仔细,而且也是英文的。 我在手头的项目中使用了这个,所以我自己弄清楚了如何使用它,如下。

#:utf-8

来自文档

来自 docx。 #这是docx的颜色类

doc = ()#新建文档

style = doc..('样式名称1',2)#新建样式(第一个参数为样式名称,第二个参数为样式类型:1代表段落;2代表字符;3代表表格)

style.font.color.rgb = (0x0,0x0,0xff)#设置具体样式(将样式字体改为蓝色,当然你也可以修改其他的,自己尝试一下)

6. 应用字符样式。 字符自然位于段落内。 您可以使用以下方法向段落添加文本并设置字符样式。

#插入一个空白段落

p = 文档。('')

p.('123',)

页('456')

p.('789',)

#这样一个段落应用了两种字符样式,中间的“456”没有应用样式。

.text#输出结果是u'',仍然是连续的。

7. 设置字体。 当然,某些单词不需要通过设置样式来设置,也可以直接设置。

p = 文档。('')

r = p.('123')

r.font.bold =True#Bold

r.字体。 =True#倾斜等...

8.表操作。 表也​​是一种常用的对象类型。

#新建一个2x3的表格,样式不用写

table=doc.(rows=2,cols=3,style=None)#可以通过table的rows sum得到这个表的行数和列数

(表.行)

(table.)#遍历表

对于 table.rows 中的行:

row.cells[0].text ='1'#

print row.cells[0].text#新行或新列

桌子。()

桌子。()

提醒:请联系我时一定说明是从星空网上看到的!