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

通化 网站建设营业推广的方式

通化 网站建设,营业推广的方式,青岛北京网站建设公司哪家好,爱美刻在线制作网站要求: 1,遍历文件夹下所有的.xml文件 2,从.xml文件中提取关键字以及左右十个字符 3,输出到excel 一:遍历文件夹找到所有xml文件及其路径 for root, dirs, files in os.walk(self.inputFilePath):for file in files:…

要求:

1,遍历文件夹下所有的.xml文件

2,从.xml文件中提取关键字以及左右十个字符

3,输出到excel

一:遍历文件夹找到所有xml文件及其路径

		for root, dirs, files in os.walk(self.inputFilePath):for file in files:targetFilePath = os.path.join(root, file)if not targetFilePath.endswith(".xml"):continuexmlFileData = open(targetFilePath,'r',encoding='utf-8').read()

        os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情

def walk(top, topdown=True, onerror=None, followlinks=False):

参数解释:


  1. top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
  2. topdown的默认值是“True”,表示首先返回根目录树下的文件,然后遍历目录树下的子目录。值设为False时,则表示先遍历目录树下的子目录,返回子目录下的文件,最后返回根目录下的文件。
  3. topdown设值不同,os.walk()返回的列表元素顺序不同(但不是相反),所以遍历后的结果也不同
  4. onerror – 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。
  5. followlinks – 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。
     

我们只传入一个目录参数,它会遍历当前目录,及其子目录。

返回的是一个三元组(root,dirs,files)

  • root 所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

 二:对xml文件提取关键字及其左右的十个字符

xmlFileData = open(targetFilePath,'r',encoding='utf-8').read()
for m in re.finditer(self.keyWords, xmlFileData, re.I):#re.I标志是大小写不敏感extractKeywords = xmlFileData[m.start()-OFFSET:m.end()+OFFSET]self.keywordInfoList.append((targetFilePath,extractKeywords))

        用到了re模块的finditer方法,用过re模块的相信都用过findall()方法,该方法能一次性找出所有的正则匹配结果,但是也有局限性,其不能提供所在的位置,并且是一起返回的,如果有数万个一起返回来,就不太好处理了,因此要使用finditer()函数来实现每次只返回一个,并且返回所在的位置。

re.finditer(pattern, string, flags=0)

参数:

参数描述
pattern匹配的正则表达式
string要匹配的字符串。
flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。参见:正则表达式修饰符 - 可选标志

         针对re.finditer返回的迭代对象,每一个迭代子对象都有start和end方法,start定位到关键字开始的位置,end定位到关键字结尾的位置,我们再定义一个偏移值(建议用宏,可以统一修改)来提取关键字及其左右偏移的字符

三:写入excel

	def writeToExcel(self):workBook = openpyxl.Workbook()sheetPos = 0for ele in self.keywordInfoList:oneLine = list()rootPathSplit = ele[0].split('\\')firstDirIndex = rootPathSplit.index(self.firstDirName)#获取当前目录的索引newSheet = rootPathSplit[firstDirIndex+1]if newSheet not in workBook.sheetnames:workSheet = workBook.create_sheet(newSheet, sheetPos)sheetPos += 1oneLine.extend(rootPathSplit[firstDirIndex+1:])oneLine.append(ele[1])workSheet.append(oneLine)print(oneLine)workBook.save("xmlExtractKeyword.xlsx")

用到了openpyxl模块,下面给出常用的方法

创建:

from  openpyxl import  Workbook 
# 实例化
wb = Workbook()
# 激活 worksheet
ws = wb.active

打开已有:

  from openpyxl  import load_workbookwb2 = load_workbook('文件名称.xlsx')

储存数据:

# 方式一:数据可以直接分配到单元格中(可以输入公式)
ws['A1'] = 42
# 方式二:可以附加行,从第一列开始附加(从最下方空白处,最左开始)(可以输入多行)
ws.append([1, 2, 3])
# 方式三:Python 类型会被自动转换
ws['A3'] = datetime.datetime.now().strftime("%Y-%m-%d")

创建表(sheet):

# 方式一:插入到最后(default)
>>> ws1 = wb.create_sheet("Mysheet") 
# 方式二:插入到最开始的位置
>>> ws2 = wb.create_sheet("Mysheet", 0)

选择表(sheet):

# sheet 名称可以作为 key 进行索引
>>> ws3 = wb["New Title"]
>>> ws4 = wb.get_sheet_by_name("New Title")
>>> ws is ws3 is ws4
True

查看表名(sheet):

# 显示所有表名
>>> print(wb.sheetnames)
['Sheet2', 'New Title',  'Sheet1']
# 遍历所有表
>>> for sheet in  wb:
... 	print(sheet.title)

更多方法请见:python-- openpyxl详解_像风一样的男人@的博客-CSDN博客

http://www.hrbkazy.com/news/34432.html

相关文章:

  • 商务网站建设的项目体会seo基础知识考试
  • 白云网站制作搜索引擎入口官网
  • 网站模块在线制作百度企业官网
  • 网站运营每天做的如何建网站不花钱
  • 建设银行人才招聘网站类似互推商盟的推广平台
  • 网站基本内容三门峡网站seo
  • wordpress上传文档重庆seo优化公司
  • 专做网站的公司品牌营销策划方案案例
  • 外贸网站做开关行业的哪个好怎样在百度上免费做广告
  • 最专业微网站建设公司新东方烹饪学校学费价目表
  • 用scala做的网站宁波seo网络推广选哪家
  • 怎样在网站上做推广商丘seo公司
  • wordpress获取文章内容页的分类数字营销服务商seo
  • 专业微网站电话百度指数电脑版
  • 樟木头镇网站仿做国际新闻最新消息
  • 上海知名的网站建设网站设计与制作毕业论文范文
  • 做ppt的模板网站计算机培训
  • 做证书的网站长尾关键词挖掘
  • 青岛网站建设技术托管国家免费职业培训平台
  • 注册网站不用手机短信验证的哈尔滨关键词优化报价
  • 广州网站建设88社区推广
  • 企业内部信息网站如何建设自己怎么优化网站
  • 表白网站怎么做b2b免费外链发布
  • 网站怎么做三个页面国内新闻大事20条简短
  • 专业做网站公司发软文是什么意思
  • app手机网站制作烟台网站建设
  • 苏州网站建站搜索引擎优化方案
  • 无锡做食品网站的公司人力资源和社会保障部
  • 莱州网站建设公司百度网址大全 官网
  • 什么是网站内页如何建立一个网站平台