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

哪里做网站的比较多网站快速建站

哪里做网站的比较多,网站快速建站,全国住房建设部网站,axure做的购物网站要求: 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.hkea.cn/news/240560/

相关文章:

  • 营销网站定制的优势成品网站源码的优化技巧
  • 高职学院网站建设方案广告制作
  • table表格 做的网站营销案例分析报告模板
  • pc端网站做移动适配教育培训机构管理系统
  • 页游传奇排行榜无锡seo优化公司
  • 广西南宁网站设计百度seo算法
  • 网站建设服务怎么样近期国内热点新闻事件
  • 阿里巴巴网站国际站建设seo托管服务
  • 企业网站优化之如何做需求分析网奇seo赚钱培训
  • 施工企业会计制度收入确认规定百度自然排名优化
  • 校园网站建设意义网络营销的特点有哪些
  • 内江做网站哪里便宜google搜索关键词热度
  • 福建省建设银行招聘网站网络推广员压力大吗
  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件
  • the7 wordpress主题宁波seo外包费用
  • 云南建筑培训网seo刷点击软件
  • 男女做暖网站h5页面制作平台
  • 可以做puzzle的网站百度关键词排名提升工具
  • 竞网网站建设南宁网站seo大概多少钱
  • 114黄页信息网宝鸡seo培训
  • 东南亚做棋牌网站挖掘爱站网
  • 中国工程建设招标网官方网站谷歌查询关键词的工具叫什么
  • wordpress管理员密码忘记成都seo招聘
  • 武汉企业建站系统模板下载官方正版百度