整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

VBA技术资料MF188:将Txt文件转换成Html

VBA技术资料MF188:将Txt文件转换成Html文件

给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解,从简单的入门、到入门后的提高、到数据库、到字典、到Word VBA的应用、到高级网抓及类的应用、一直讲到程序的分发。另外,为了方便大家在写代码是方便查找,“VBA语言専攻”又推出了一部VBA汉英手册,这部手册覆盖了VBA的方方面面,与实际工作衔接度高。为了更好的完善学员的知识结构,丰富学员的实践经验,“VBA语言専攻”还提供给学员VBA工具,有较复杂些的NZ系列工具,较容易些的YZ系列,这个两个工具系列一共是二十六份。

VBA是职场很好的利用工具,为了让大家更广泛看到VBA应用场景,“VBA语言専攻”还有MF系列技术资料提供。MF系列技术资料侧重VBA应用技巧和疑难杂症,目前提供640多份资料,会持续增加,里面有很多实用技巧提供。如果您已经成为我的学员(获得我9套教程及汉英手册中的两套及以上)可以免费索获这个系列部分资料;如果您是我的T3学员(获得我的全部教程+手册+NZ,YZ工具),那么您可以获得我提供的所有MF系列技术资料,并享受永久更新;您如果还不是我的学员,您只能选择分享,但需要拥有我的至少一套教程或者手册。今日给大家介绍的是VBA技术资料MF188:将Txt文件转换成Html文件

分享成果,随喜正能量】总以为来日方长,却忘了世事无常。无论春风得意与聚散离合,一切都会过去的。飘风不终朝,骤雨不终日。一味地沉浸在过去的痛苦中,只会无端地消耗自己,去释怀,去放下,把过去的一切当做磨砺,脚踏实地把今天的事做好,才是对未来的不辜负。。

MF188:将Txt文件转换成Html文件

Html文件是超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。您可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。本讲的内容力争实现VBA完成Html文件的转换。在MF188的资料中,我们将探讨如何使用Excel VBA代码实现将Txt文件转换成Html文件的方法,本节代码您可以作单独使用,也可以作为您的UDF利用。MF188料提供的内容有:① 将Txt文件装换成Html文件

为了说明这节内容,我在给出的资料中会给出一个简单的TXT文件,如下截图:

一 将Txt文件装换成Html文件

我们先看实现上述功能的操作界面:

点击按钮后代码会运行,会打开上述的txt文件,并将其装换成HTML文件。

  • 代码见程序文件:VBA_ConvertTxtFilesToHtmFiles.xlsm

所周知,python最强大的地方在于,python社区汇总拥有丰富的第三方库,开源的特性,使得有越来越多的技术开发者来完善。

python的完美性。

未来人工智能,大数据方向,区块链的识别和进阶都将以python为中心来展开。

咳咳咳! 好像有点打广告的嫌疑了。

当前互联网信息共享时代,最重要的是什么?是数据。最有价值的是什么?是数据。最能直观体现技术水平的是什么?还是数据。

所以,今天我们要分享的是:如何来获取各个文件格式的文本信息。

普通文件的格式 一般分为: txt普通文本信息,doc word文档,html网页内容,excel表格数据,以及特殊的mht文件。

一、Python处理html网页信息

html类型的文本数据,内容是由前端代码书写的标签+文本数据的格式,可以直接在chrome浏览器打开,清楚 的展示出文本的格式。

python 获取html文件的内容和获取txt文件的方法相同,直接打开文件读取就可以了。

读取代码如下:

with open(html_path, "r", encoding="utf-8") as f:
 file=f.read()

file 是html文件的文本内容。是一个网页标签的格式内容。

二、Python处理excel表格信息

python拥有直接操作excel表格的第三方库xlwt,xlrd。调用对应的方法就可以读写excel表格数据。

读取excel操作代码如下:

filepath="C:\\Users\Administrator\Desktop\新建文件夹\笨笨 前程6份 武汉.xls"
sheet_name="UserList"
rb=xlrd.open_workbook(filepath)
sheet=rb.sheet_by_name(sheet_name)
# clox_list=[0, 9, 14, 15, 17]
for row in range(1, sheet.nrows):
 w=WriteToExcel()
 # for clox in clox_list:
 name=sheet.cell(row, 0).value
 phone=sheet.cell(row, 15).value
 address=sheet.cell(row, 9).value
 major=sheet.cell(row, 14).value
 age=sheet.cell(row, 8).value

其中row是表格数据对应的行数, cell获取具体行数,列数的具体数据。

三、Python读取doc文档数据

python读取doc文档是最麻烦的。处理逻辑复杂。处理的方式也有很多种。

python 没有直接处理doc文档的第三方库,但是有一个处理docx的第三方库。可以通过将doc文件转换为docx文件,再调用第三方python库pydocx来读取doc文档的内容。

这里需要注意的是,不要直接修改doc的后缀来修改成docx文件。直接通过修改后缀获取的docx文件,pydocx无法读取内容。

我们可以使用另外一个库来修改doc为docx。

具体代码如下:

def doSaveAas(self, doc_path):
 """
 将doc文档转换为docx文档
 :rtype: object
 """
 docx_path=doc_path.replace("doc", "docx")
 word=wc.Dispatch('Word.Application')
 doc=word.Documents.Open(doc_path) # 目标路径下的文件
 doc.SaveAs(docx_path, 12, False, "", True, "", False, False, False, False) # 转化后路径下的文件
 doc.Close()
 word.Quit()

代码所需的包接口:

import os
import zipfile
from win32com import client as wc
import xlrd
from bs4 import BeautifulSoup
from pydocx import PyDocX
from lxml import html
from xpath_content import XpathContent
from write_to_excel import WriteToExcel

python处理docx文档的方法有很多种,具体使用情况,根据个人需求来决定。

No.1 解压docx文件

docx文件的原理,本质上就是一个压缩的zip文件,通过解压以后,就可以获取原来文件的各个内容。

docx解压后的文件结构如下:



docx文件的文本内容存储结构如下:

文本内容存储于word/document.xml文件中。



第一种方法,我们就可以先将docx还原成zip压缩文件,再解压zip文件,读取word/document.xml文件的内容就ok了。

具体操作代码如下:

def get_content(self):
 """
 获取docx文档的文本内容
 :rtype: object
 """
 os.chdir(r"C:\Users\Administrator\Desktop\新建文件夹") # 改变目录到文件的目录
 #
 os.rename("51 2014.09.12 1份Savannah.docx", "51 2014.09.12 1份Savannah.ZIP") # 重命名为zip文件
 f=zipfile.ZipFile('51 2014.09.12 1份Savannah.ZIP', 'r') # 进行解压
 xml=f.read("word/document.xml")
 wordObj=BeautifulSoup(xml.decode("utf-8"))
 # print(wordObj)
 texts=wordObj.findAll("w:t")
 content=[]
 for text in texts:
 content.append(text.text)
 content_str="".join(content)
 return content_str

最后获取到的就是docx文档的所有文本数据了。

No.2 将docx文档转换成python能够处理的文本格式

第一种方法,是依据docx文档的原理来获取数据,流程有点繁琐,有没有能直接读取docx文档内容的方法呢?答案,肯定是没有的,别想了,洗洗回家睡吧。

直接读取docx文档的方法没有,有没有能够将docx文档转换成python能够轻松处理的文本格式呢?

这个可以有,前面说了,python拥有大量丰富的第三方库(先夸一波我大python),历经千辛万苦终于找到了,一个能转换docx文档格式的第三方库,pydocx,pydocx库中有个方法pydocx.to_html()就可以直接将docx文档转换为html文件,怎么样?意不意外,惊喜不惊喜!

第二种方法,转换文本格式的代码如下:

def docx_to_html(self, docx_path):
 """
 docx文档转换成html响应
 :rtype: object
 """
 # docx_path="C:\\Users\Administrator\Desktop\新建文件夹\\51 2014.09.12 1份Savannah.docx"
 response=PyDocX.to_html(docx_path)

获取到的response是html文件内容。

四、Python处理mht文件

mht文件是一种只能在IE浏览器上展示的文本格式,在chrome浏览器中打开是一堆的乱码。

No.1 伪造IE请求mht文件内容

最基础的读取mht文本的方法就是伪造IE浏览器请求。

调用requests库,发送get请求网页链接,构造IE的请求头信息。

理论上来说,这种方法是可行的。但是呢,不建议用,原因大家都懂得。


No.2 转换文件格式

好了说正经的方法,猜测mht文件能否修改成其他文件格式来直接读取呢?

docx,不行;html,不行;excel,更不用说了。

真相只有一个!!!

直接修改后缀得到的docx,无法读取。

so,我们想到的方法是什么呢。没错,就是修改成doc文档。

方法是匪夷所思的,但也是灵感一现。

mht可以直接通过修改后缀转换成doc文档,doc文档读取文本内容的方法具体参考上面读取doc文档的方法。

如何获取html文本的内容?

html文本的内容是网页结构标签数据,取出文本的方式是:re正则,或者xpath。

后续,小伙伴有需要的话,会再开一章详细了解re,xapth的使用规则。

来源网络,侵权联系删除

科技之巅#python html指定区域文本内容转称txt文本文件

1、首先,通过python,去将读取遍历程序目录文件夹中,【html】文件夹里面的文件、文件

夹以及子目录、子目录里面的 ,获取到该目录下所有的【.html】文件后,返回一个list对象

2、遍历完成后得到一个html文件列表对象,将该列表交给html_to_txt方法,html_to_txt方法

里面循环逐个读取html文件中指定标签中<DIV>标签中<H1>标签中的文字,和中指定标签

<TD>里面<P>标签的文字提取出来

3、读取到的文本内容输出到txt文件中,这里可以加上一个替换replace,把我们不需要的内

容替换之后,这里可以做多次替换,也可以加上换行之类的处理,再进行输出,可根据自己

的需求修改,如果有什么不明之处,可以提问