前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python & excel

python & excel

作者头像
py3study
发布2020-01-09 16:24:23
5820
发布2020-01-09 16:24:23
举报
文章被收录于专栏:python3

#!/usr/bin/python

# coding: utf-8

import os

import re

import sys

import xlrd

SERVERS_EXCELFILE = u'/etc/subversion/平台服/平台服务器资料.xls'

TOP_DIR = os.path.dirname(os.path.abspath(sys.argv[0]))

HOSTFILE = os.path.join(TOP_DIR,'hosts')

serverlist = []

sheets = {

    u"平台网站":[1,3,5,6,7],

    #u"平台接口":[1,2,5,6,9],

}

def sheet_parse(excelfile,sheetname,rols):

    global serverlist

    sheet = excelfile.sheet_by_name(sheetname)

    for row in range(rols[0],sheet.nrows):

        wan_ip = sheet.cell_value(row,rols[1])

        lan_ip = sheet.cell_value(row,rols[2])

        if not re.match(r'^[1-9]{0,2}\.[0-9]{1,3}',wan_ip):

            wan_ip = 0

        if not re.match(r'^[1-9]{0,2}\.[0-9]{1,3}',lan_ip):

            lan_ip = 0

        if wan_ip or lan_ip:

            server = '%s %s %d %s\n' % (

                str(wan_ip).split()[0],

                str(lan_ip).split()[0],

                int(sheet.cell_value(row,rols[3])),

                sheet.cell_value(row,rols[4])

            )

            serverlist.append(server)

def main():

    excelfile = xlrd.open_workbook(SERVERS_EXCELFILE)

    if os.path.exists(HOSTFILE):

        os.remove(HOSTFILE)

    for sheetname in sheets.keys():

        sheet_parse(excelfile,sheetname,sheets[sheetname])

    try:

        hostsfile = open(HOSTFILE,'w')

        hostsfile.writelines(serverlist)

    finally:

        hostsfile.close()

if __name__ == '__main__':

    main()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档