本文目录一览:
- 1、如何在 Linux 上使用 Python 读取 word 文件信息
- 2、如何使用python读取word的表格并输出为字典?
- 3、python读取word文档内容
- 4、python如何读取word文件
- 5、如何用python读取word
- 6、python如何读取word文件中的文本内容并写入到新的txt文件?
如何在 Linux 上使用 Python 读取 word 文件信息
第一步:获取doc文件的xml组成文件
import zipfiledef get_word_xml(docx_filename):
with open(docx_filename) as f:
zip = zipfile.ZipFile(f)
xml_content = zip.read('word/document.xml')
return xml_content
第二步:解析xml为树形数据结构
from lxml import etreedef get_xml_tree(xml_string):
return etree.fromstring(xml_string)
第三步:读取word内容:
def _itertext(self, my_etree):
"""Iterator to go through xml tree's text nodes"""
for node in my_etree.iter(tag=etree.Element):
if self._check_element_is(node, 't'):
yield (node, node.text)def _check_element_is(self, element, type_char):
word_schema = '99999'
return element.tag == '{%s}%s' % (word_schema,type_char)
如何使用python读取word的表格并输出为字典?
直接读取value写入csv文件,
import csv
f = open('file.csv','a',newline='')
w = writer(f)
w.writerow(dict(key))
打开csv文件另存为excel.
如果是很多个字典组成的列表,形式像[{a:1,b:2,c:3},……{a:4,b:5,c:6}],就可以用pandas来进行处理,存储为excel, 表头为a,b,c
dict_l = [{a:1,b:2,c:3},……{a:4,b:5,c:6}]
from pandas import DataFrame as DF
df = DF(dict_l)
df.to_csv(filename)
python读取word文档内容
import fnmatch, os, sys, win32com.client
readpath=r'D:/123'
wordapp = win32com.client.gencache.EnsureDispatch("Word.Application")
try:
for path, dirs, files in os.walk(readpath):
for filename in files:
if not fnmatch.fnmatch(filename, '*.docx'):continue
doc = os.path.abspath(os.path.join(path,filename))
print 'processing %s...' % doc
wordapp.Documents.Open(doc)
docastext = doc[:-4] + 'txt'
wordapp.ActiveDocument.SaveAs(docastext,FileFormat=win32com.client.constants.wdFormatText)
wordapp.ActiveDocument.Close()
finally:
wordapp.Quit()
print 'end'
f=open(r'd:/123/test.txt','r')
for line in f.readlines():
print line.decode('gbk')
f.close()
python如何读取word文件
def PrintAllParagraphs(doc):
count=doc.Paragraphs.Count
for i in range(count-1,-1,-1):
pr=doc.Paragraphs[i].Range
print pr.Text
app=my.Office.Word.GetInstance()
doc=app.Documents[0]
PrintAllParagraphs(doc)
1.什么是域
域应用基础
@staticmethod
def GetInstance():
u'''获取Word应用程序的Application对象'''
import win32com.client
return win32com.client.Dispatch('Word.Application')
my.Office.Word.GetInstance的方法实现如上,是一个使用win32com操纵Word Com的接口的封装
所有Paragraph即段落对象,都是通过Paragraph.Range.Text来访问它的文字的
如何用python读取word
使用Python的内部方法open()读取文本文件
try:
f=open('/file','r')
print(f.read())
finally:
if f:
f.close()
如果读取word文档推荐使用第三方插件,python-docx 可以在官网上下载
使用方式
# -*- coding: cp936 -*-
import docx
document = docx.Document(文件路径)
docText = '/n/n'.join([
paragraph.text.encode('utf-8') for paragraph in document.paragraphs
])
print docText
python如何读取word文件中的文本内容并写入到新的txt文件?
from docx import Document
# 打开 word文件
f = open('随便写写行.docx', 'rb')
# 读取 word文件内容
document = Document(f)
# 打印 word 文档段落内容2进制列表
# print(document.paragraphs)
# 打开一个txt文档用来写入数据
with open('result2.txt', 'w') as fw:
# 遍历 word 段落内容列表
for context in document.paragraphs:
# 以换行符转换成列表
text = context.text.split('/n')
# 按行写入,同时换行
fw.write(f"{text[0]}/n")
# 打印看看效果
print(text[0])
f.close()