Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1503192
  • 博文数量: 416
  • 博客积分: 10061
  • 博客等级: 上将
  • 技术积分: 3287
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-05 11:12
个人简介

技术在于专研

文章分类

全部博文(416)

文章存档

2021年(3)

2015年(34)

2013年(2)

2012年(1)

2011年(2)

2010年(5)

2007年(344)

2006年(25)

分类: 系统运维

2021-06-28 10:10:58

每天巡检脚本生成的巡检报告


python读取txt文本信息写入excel



文本信息如下:

python读取txt文本信息写入excel




python代码

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*-coding:utf8 -*-
  3. # @Time : 2020/11/17 16:31
  4. # @Author : riches
  5. # @Site :
  6. # @File : tiqu1.py
  7. # @Software: PyCharm
  8. import os
  9. import re
  10. import xlrd, xlwt

  11. def cpu(data):
  12.     return data.split()[5]

  13. def mem(data):
  14.     return data.split()[3]

  15. def disk(data):
  16.     return data.split()[4]
  17. def disk1(data):
  18.     return data.split()[4]
  19. def disk2(data):
  20.     return data.split()[4]

  21. def find_files(s_path):
  22.     res = {}
  23.     file_list = os.listdir(s_path)
  24.     for filename in file_list:
  25.         abs_filename = os.path.join(s_path, filename)
  26.         if os.path.isfile(abs_filename):
  27.             # 打开文件
  28.             with open(abs_filename, "r", encoding="utf8") as f:
  29.                 for line in f:
  30.                     if re.search('mem.*cpu',line) is not None:
  31.                         #import pdb;pdb.set_trace()
  32.                         m2 = mem(line)
  33.                         m1 = cpu(line)
  34.                     if re.search('/dev/sda3.*/',line) is not None:
  35.                         d1 = disk(line)
  36.                     if re.search('/dev/sdb1.*/home',line) is not None:
  37.                         d2 = disk1(line)
  38.                     if re.search('/dev/sdc1.*/home', line) is not None:
  39.                         d3 = disk2(line)

  40.                         break

  41.             res[abs_filename] = (m1,m2,d1,d2,d3)
  42.         elif os.path.isdir(abs_filename):
  43.             find_files(abs_filename)
  44.         else:
  45.             print("不是文件夹,也不是文件")

  46.     return res


  47. #创建excel 文件
  48. def write_excel(data):
  49.     writebook = xlwt.Workbook() # 打开一个excel
  50.     sheet = writebook.add_sheet('data') # 在打开的excel中添加一个sheet
  51.     # 添加表头
  52.     sheet.write(0, 0, '文件名')
  53.     #sheet.write(0, 1, '内存占比')
  54.     #sheet.write(0, 2, 'CPU占比')
  55.     sheet.write(0, 1, 'CPU占比')
  56.     sheet.write(0, 2, '内存占比')
  57.     sheet.write(0, 3, '硬盘根占比')
  58.     sheet.write(0, 4, 'home占比')
  59.     sheet.write(0, 5, 'data占比')

  60.     # sheet.write(0, 5, '18:00.1流量')
  61.     # sheet.write(0, 6, '86:00.1流量')

  62.     # 65535 最大行,可以自行拆分
  63.     for index, item in enumerate(data):
  64.         sheet.write(index + 1, 0, item) # 文件名
  65.         sheet.write(index + 1, 1, data[item][0])
  66.         sheet.write(index + 1, 2, data[item][1])
  67.         sheet.write(index + 1, 3, data[item][2])
  68.         sheet.write(index + 1, 4, data[item][3])
  69.         sheet.write(index + 1, 5, data[item][3])

  70.     writebook.save("D:\\tongji\\192.168.1.1.xls")

  71. if __name__ == "__main__":
  72.     s = r"D:\tqtest\" # 更换自己的路径
  73.     res = find_files(s)
  74.     write_excel(res)

运行效果如下:


python读取txt文本信息写入excel



阅读(1454) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~