try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
import sys
import xlrd
import os
from enum import Enum
import re
import yaml
class HiddenPrints:
def __init__(self, activated=True):
# activated参数表示当前修饰类是否被激活
self.activated = activated
self.original_stdout = None
def open(self):
sys.stdout.close()
sys.stdout = self.original_stdout
def close(self):
self.original_stdout = sys.stdout
sys.stdout = open(os.devnull, 'w')
# 这里的os.devnull实际上就是Linux系统中的“/dev/null”
# /dev/null会使得发送到此目标的所有数据无效化,就像“被删除”一样
# 这里使用/dev/null对sys.stdout输出流进行重定向
def __enter__(self):
if self.activated:
self.close()
def __exit__(self, exc_type, exc_val, exc_tb):
if self.activated:
self.open()
def getDeviceType(aim_ne_no=2):
xml_filename = "NEリスト.xml"
try:
# 打开xml文档
tree = ET.parse(xml_filename)
# 获得root节点
root = tree.getroot()
except Exception as e:
print("Error:cannot parse file:{0}.".format(xml_filename))
sys.exit(1)
# 找到root节点下的所有system节点
for system in root.findall("system"):
# 子节点下节点ne_no的值
if system.find("ne_no_a").text == str(aim_ne_no):
# print(system.find("ne_no_a").text)
# print(system.find("ne_config").find("device").text)
return system.find("ne_config").find("device").text
class ReadExcel(object):
instance = None
init_flag = False
sheet_data = None
def __new__(cls, *args, **kwargs):
if cls.instance is None:
cls.instance = super().__new__(cls)
return cls.instance
else:
return cls.instance
def __init__(self, wb_filename):
if not self.init_flag:
self.parent_dir = None
self.parent_dir = os.path.dirname(os.path.abspath(__file__))
self.data = None
try:
# 初始化对象
self.data = xlrd.open_workbook(filename=os.path.join(self.parent_dir, wb_filename))
except BaseException as e:
print("---Load Excel Error---")
print('Reason:', e)
self.init_flag = True
# 获取指定sheet的数据
def getDataBySheet(self, sheetname):
self.sheet_data = self.data.sheet_by_name(sheetname)
return self.sheet_data
def getSheetNames(self):
print(self.data.sheet_names())
# 获取指定列的数据
def getDataByCol(self, ws, col):
value = ws.col_values(col)
return value
def getAll_neno(self, ws, k="ne_no"):
'''
根据当前的sheet格式来获取(固定格式)
A列(第一列)空,B列(第二列)为ne_no,每个ne信息固定占11列; 横向如果还需要写ne信息的话,固定 空一行
此格式,ne_no只会出现在第2列,第14列,第26列 。。。(+12)
:param ws: 装置信息工作薄
:param k: 需要搜索的关键字的值,此函数为ne_no
:return: {ne_no_a:(row,col),ne_no_a:(row,col),ne_no_a:(row,col),...}
'''
ne_no_dict = {}
ne_col_list = []
max_rows = ws.nrows
max_cols = ws.ncols
# print("Sheetname : {} \nMax Rows : {} \nMax Cols : {} \n".format(ws.name, max_rows, max_cols))
# 行列都是从0开始的(1为第二列)
ne_no_first_col = 1
# 获取存在ne_no的列,写入列表
while ne_no_first_col <= max_cols - 1:
row = 0
# 搜索ne_no单元格
ne_col_list.append(ne_no_first_col)
ne_no_first_col += 13
# print(ne_col_list)
# 读取指定列的数据
for col in ne_col_list:
col_value = self.getDataByCol(ws, col)
# 获取参数k在每列中的行数索引
# 参数k存在于列中,k_flag设为true,不存在则为false
k_flag = False
ne_row_list = []
for i in range(len(col_value)):
if col_value[i].strip() == k:
k_flag = True
ne_row_list.append(i)
# 参数k的行列数索引放入字典
# {'1': [2, 42]} => 1是列索引 2,42是行索引
if k_flag:
ne_no_dict[str(col)] = ne_row_list
# print(ne_no_dict)
# print("=" * 10)
return ne_no_dict
def getDataByCell(self, ws, row, col, col_offset=0, convert_float=True):
row = int(row)
col = int(col)
if col_offset > 0:
col = col + col_offset
value = ws.cell(row, col).value
get_value = ""
if isinstance(value, float):
if convert_float:
get_value = str(int(value))
else:
get_value = str(value)
else:
get_value = str(value)
# print(value)
return get_value
def getNe_BasedOnNumber(self, ws, ne_no_dict, ne_no_a):
# {'1': [2, 42]} => 1是列索引 2,42是行索引
# {'1': [2, 47, 67, 111], '13': [9, 54], '25': [3]}
print("ne_no_dict -> ", ne_no_dict)
# print(ne_no_a)
for k, v in ne_no_dict.items():
for v_i in range(len(v)):
# ne_no的单元格,列偏移10就是number => 取到的是float,转换成int
try:
if int(ne_no_a) == int(self.getDataByCell(ws, v[v_i], k, col_offset=11)):
# 获取指定层的配置参数 -> ne_row_start开始的行 ne_row_end结束的行 ne_col_start开始的列 ne_col_end结束的列
# ne_no所在列右偏移11,为值列
# 如果有IndexError,说明列表就一个元素,或者是列表中的最后一个元素,此时的结束行为value列的最后一行,用getDataByCol函数
try:
# print(int(v[v_i]), int(v[v_i + 1] - 1), int(k))
return int(v[v_i]), int(v[v_i + 1] - 1), int(k), int(k) + 11
except IndexError:
get_value = self.getDataByCol(ws, int(k) + 11)
while True:
if get_value.pop() != "":
# print(int(v[v_i]), len(get_value), int(k), int(k) + 11)
return int(v[v_i]), len(get_value), int(k), int(k) + 11
except ValueError as e:
print(e)
print("Exception Cell : row->{},col->{} .".format(v[v_i], int(k) + 11))
raise
# sys.exit(1)
def getAct_BasedOnName(self, ws, act_name_dict, act_name):
# {'1': [2, 42]} => 1是列索引 2,42是行索引
# {'1': [2, 47, 67, 111], '13': [9, 54], '25': [3]}
for k, v in act_name_dict.items():
for v_i in range(len(v)):
try:
# print(act_name)
# print(self.getDataByCell(ws, v[v_i], k, col_offset=11))
if act_name == self.getDataByCell(ws, v[v_i], k, col_offset=11):
# 获取指定层的配置参数 -> ne_row_start开始的行 ne_row_end结束的行 ne_col_start开始的列 ne_col_end结束的列
# service_name所在列右偏移11,为值列
# 如果有IndexError,说明列表就一个元素,或者
没有合适的资源?快使用搜索试试~ 我知道了~
自动化自己写的自动化胡花湖
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共661个文件
json:608个
py:25个
xml:7个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 0 1 下载量 63 浏览量
2023-12-20
16:15:24
上传
评论
收藏 106KB 7Z 举报
温馨提示
自动化自己写的自动化胡花湖
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 661 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/f34df770d6e54d58a6da959baa0604f4_weixin_66117477.jpg!1)
小孩交出棒棒糖
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- java快速上手.docx
- 转转大师数据恢复系统软件
- libstdc++-6.7z
- Java 集成 Teamcenter
- 【SQL Server点滴积累】Setup SQL Server 2008 Database Mirror (二)
- mp-html文件夹,小程序多文本乱码问题
- WebGIS开发Openlavers开发入门到进阶教程
- 基于AdaBoost分类树模型、梯度提升分类树模型、Bagging分类树模型以及随机森林分类模型对空气质量等级进行预测.zip
- 【stm32/CubeMX、HAL库、】 swjtu西南交大智能嵌入式系统八 嵌入式操作系统应用实验 uC/OS-III
- GM-T 108-2021 诱骗态84量子密钥分配产品技术规范
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)