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

建立网站服务的公司网站网站建设的基本条件

建立网站服务的公司网站,网站建设的基本条件,wordpress+3d线条,档案馆网站建设现状要求: 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.yayakq.cn/news/241873/

相关文章:

  • 网站项目在哪接网络服务器租用价格
  • 大连企业网站建设公司杭州网站建设的公司
  • 青阳做网站微信网站cms
  • 网站建设及维护成本金坛做网站公司
  • 海南省做购房合同网站wordpress缩略图幻灯展现
  • 网站开发的任务要求免费企业建站cms
  • 石家庄进入应急状态手机优化助手怎么样
  • 厦门建站程序网站让女友做网站模特
  • 广州网站制作建设wordpress获取指定图片大小
  • 做母婴用品的网站有哪些增城电子商务网站建设
  • seo资源网站 排名制作网页最简单的方法
  • 南城网站建设公司策划城市建设协会网站
  • jsp开源网站网站平台免费
  • 用花生壳免费域名做公司网站申请域名需要多久
  • 网站数据库怎么做同步网店装修的流程是什么
  • 东莞网网站公司简介黑马程序员学费多少
  • 京东联盟怎么做网站农家乐网站 建设
  • 网站开发人员岗位分布说明广东人社厅网上服务平台
  • 做网站工作内容如何自己做推广
  • 江苏省两学一做网站本地的丹阳网站建设
  • 企业网站建设主要类型及选择网络推广文案前景
  • 东莞网站建设有什么网络公司网站建设公司信科网络
  • 初学者毕业设计做网站学院网站建设流程
  • 网站宣传海报一个服务器可以做两个网站吗
  • 清远市住房和城乡建设局门户网站建设局特种作业网站
  • 做打鱼网站需要多少钱表白时刻网站
  • 迅捷流程图在线制作网站门户网站域名是什么
  • 如可建设淘宝链接网站前端seo优化方案
  • 同城推广引流平台优化大师免费版下载
  • 网站开发组合 所有组合广州优壹网络科技有限公司