资讯专栏INFORMATION COLUMN

Python办公系统批量编辑文档完成实例

89542767 / 270人阅读

  此篇文章主要是给大家介绍了Python办公系统批量编辑文档完成实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早工作上得到晋升。


  前言


  说起在工作上最让人头大的便是用这样的方法解决一大堆文件夹中文档,这其实并不难,但是却繁。因此当遇到脚踏式的操作过程中一定要注意应用Python来有效懒惰!这次我会以解决微博热搜榜数据信息来实例怎么使用Python批量编辑文件夹中文件,主要是将涉及到:


  Python大批量载入不一样文件夹(⭐⭐⭐)


  Pandas数据解决(⭐⭐)


  Python实际操作Markdown文件(⭐)


  需求分析

01.png

  首先来说明一下需要完成的任务,下面是我们的文件夹结构


  因为微博历史热搜是没有办法去爬的,所以只能写一个爬虫每天定时爬取热搜并保存,所以在我当时分析数据时使用的就是上图展示的数据,每天的数据以套娃形式被保存在三级目录下,并且热搜是以markdown文件存储的,打开是这样????

02.png

  而我要做的就是将这三个月的微博热搜数据处理成这样????

03.png

  这困难吗,手动的话无非是依次点三下进入每天的数据文件夹再打开md文件手动复制粘贴进Excel,不就几万条数据,大不了一天不吃饭也能搞定!现在我们来看看如何用Python光速处理。


  Python实现


  在操作之前我们来思考一下如何使用Python实现,其实和手动的过程类似:先读取全部文件,再对每一天的数据处理、保存。所以第一步就是将我们需要的全部文件路径提取出来,首先导入相关库


  import pandas as pd
  import os
  import glob
  from pathlib import Path


  读取全部文件名的方法有很多比如使用OS模块

04.png

  但是由于我们是多层文件夹,使用OS模块只能一层一层读取,要写多个循环从而效率不高,所以我们告别os.path使用Pathlib来操作,三行代码就能搞定,看注释


  from pathlib import Path
  p=Path("/Users/liuhuanshuo/Desktop/热搜数据/")#初始化构造Path对象
  FileList=list(p.glob("**/*.md"))#得到所有的markdown文件`</pre>


  来看下结果


  成功读取了热搜数据下多层文件夹中的全部md文件!但是新的问题来了,每天有两条热搜汇总,一个11点一个23点,考虑到会有重合数据所以我们在处理之前先进行去重,而这就简单了,不管使用正则表达式还是按照奇偶位置提取都行,这里我是用lambda表达式一行代码搞定


  filelist=list(filter(lambda x:str(x).find("23点")>=0,FileList))

  现在我们每天就只剩下23点的热搜数据,虽然是markdown文件,但是Python依旧能够轻松处理,我们打开其中一个来看看


  打开方式和其他文件类似使用with语句,返回一个list,但是这个list并不能直接为我们所用,第一个元素包含时间,后面每天的热搜和热度也不是直接存储,含有markdown语法中的一些没用的符号和换行符,而清洗这些数据就是常规操作了,使用下面的代码即可,主要就是使用正则表达式,看注释


  with open(file)as f:
  lines=f.readlines()
  lines=[i.strip()for i in lines]#去除空字符
  data=list(filter(None,lines))
  del data[0]
  data=data[0:100]
  date=re.findall('年(.+)2',str(file))[0]
  content=data[::2]#奇偶分割
  rank=data[1::2]
  #提取内容与排名
  for i in range(len(content)):
  content<i>=re.findall('、(.+)',content<i>)[0]
  for i in range(len(rank)):
  rank<i>=re.findall('(.+)',rank<i>)[0]`


  最后只需要写一个循环遍历每一天的文件并进行清洗,再创建一个DataFrame用于存储每天的数据即可


  能够看见,并没应用太复杂了的编码就能成功完成了我们要求!


  结语


  以上就是关于应用Python再次解锁新技能最终成功粗心的例子,很有可能载入Markdown文件在您的实际工作中并且用不上,但通过本实例希望你能够懂得如何批量编辑文件夹,大批量载入清洗数据。更为关键的是在您的工作中,碰到必须重复性工作的任务后,是否能想到应用Python来自动化技术解决

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128708.html

相关文章

  • Python办公系统Word转Excel文件批量编辑

      此篇文章主要是给大家介绍了Python办公系统Word转Excel文件批量编辑实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪。  序言  小伙伴们好,今日有个公务员的小伙伴们授权委托我给他帮帮忙,应该是有一份Word(因为涉及到文档私秘因此原文中具体内容已经做了改动)  一共有近2600条类似格式的表格细栏,每个栏目包括的信息有:  日期  发...

    89542767 评论0 收藏0
  • 【负载均衡 ULB】ULB,VServer,服务节点的操作指南

    摘要:绑定解绑进入负载均衡页面,可对外网绑定的外网弹性进行以下操作。负载均衡算法监听器对数据包的负载方式服务节点一般情况,添加服务节点是需要在监听器创建完成后再进行。禁用服务节点后,现存的长连接不会断开。,点击确定,即完成批量禁用服务节点。创建ULB操作步骤1、进入负载均衡 ULB页面。2,点击创建负载均衡进行ULB实例创建。3、填写配置信息,进行ULB实例创建。详细配置说明见下方。4,点击立即购...

    Tecode 评论0 收藏0
  • python图像处理之图象的批量编辑

      此篇文章主要是给大家介绍了python图像处理之图象的批量编辑实例详细解读,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,愿大家多多的发展,尽快涨薪  文章正文  有的时候,不仅需要对一张照片予以处理,可能也会对一大批照片处理。此刻,我们通过循环系统去执行解决,还可以启用程序流程带有的照片结合去处理。  照片结合函数公式  skimage.io.ImageCollection(load...

    89542767 评论0 收藏0
  • UCloud MySQL云数据库操作指南

    摘要:二进制日志是记录对数据发生或潜在发生更改的语句,并以二进制的形式保存。删除配置文件删除配置文件配置文件支持删除操作。在配置文件列表页选中需要删除的配置文件,选中删除即可完成删除操作。UCloud MySQL云数据库操作指南 基本操作 启动MySQL实例 如果要启动处于关闭状态的MySQL实例,首先选择需要启动的MySQL实例,在列表右侧点击启动按钮,弹出的确认对话框选择确定...

    raoyi 评论0 收藏0
  • 阿里云ECS开放批量创建实例接口,实现弹性资源的创建

    摘要:摘要为了更方便的实现弹性的资源创建,方便用户一次运行多台按量实例来完成应用的开发和部署,阿里云开放了的批量创建实例接口,可以单次最多创建台实例,避免重复调用和创建。批量创建实例创建的实例,填入相关需要的参数即可。 摘要: 为了更方便的实现弹性的资源创建,方便用户一次运行多台ECS按量实例来完成应用的开发和部署,阿里云开放了ECS的批量创建实例接口RunInstances,可以单次最多创...

    gplane 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<