我使用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 ~]#
效果圖