python 按照分隔符导出excel表
我使用passwd文件做的实例[root@iZ2ze1o0n0b42zks2le9byZ ~]#cat passwd.py#!/bin/env python#coding: utf-8#********************************************************************#Author:liuhao#QQ:1921160095#Date:2020-
·
我使用passwd文件做的实例
[root@iZ2ze1o0n0b42zks2le9byZ ~]#cat passwd.py
#!/bin/env python
#coding: utf-8
#********************************************************************
#Author: liuhao
#QQ: 1921160095
#Date: 2020-05-28
#FileName: passwd.py
#Copyright (C): 2020 All rights reserved
#********************************************************************
import xlsxwriter
import sys
import datetime
import os
import importlib
#当前时间
today=datetime.datetime.now().strftime('%Y-%m-%d')
os.system('cp /etc/passwd /root/passwd')
# 把源文件考到目录下,扩展得话,其实里面可以执行脚本什么得
filename = '/root/passwd'
importlib.reload(sys)
workbook = xlsxwriter.Workbook('passwd' + today + '.xlsx')
# 创建表格
worksheet = workbook.add_worksheet('sheet1')
# 创建表格中得sheet
bold = workbook.add_format({'bold': True,'fg_color': '#F4B084','border': 1})
bord=workbook.add_format({'border': 1})
# 设置单元格格式
head = ['用户名','是否设置密码','UID','GID','用户家目录','shell']
# 设置标题
def new_excel():
row=0
col=0
for i in (head):
worksheet.write(row,col,head[col],bold)
col += 1
# 把标题循环输出到第一行
row=1
col=0
passwdfile = open(filename)
# 读取文件
for line in passwdfile.readlines():
line = line.strip()
if not len(line) or line.startswith('#'):
continue
# 检测是否空行,如果是空行或者#号开头得行,就跳过
for j in range(len(line.split(':'))):
# 按照:分割
if line.split(':')[j] !='':
worksheet.write(row,col + j,line.split(':')[j],bord)
else:
worksheet.write(row,col + j,' ',bord)
row += 1
# 循环结束 行+1
passwdfile.close()
new_excel()
workbook.close()
[root@iZ2ze1o0n0b42zks2le9byZ ~]#
效果图
更多推荐
已为社区贡献1条内容
所有评论(0)