关于日常性指标提取AI辅助案例分享

发布时间:2026/7/15 13:41:57

关于日常性指标提取AI辅助案例分享 1、工作背景需求在日常工作中更新工参、升级操作等需从网管中提取最新数据下载后再重复整理如下表经数据整理后最终想要保留的是Nodeid列、usedAddress列中IP地址。NodeIdTransportIdRouterIdInterfaceIPv4IdAddressIPv4IdusedAddressxxxx1Traffic_OAMTraffic_OAMTraffic_OAM10.10.100.100/30xxxx1Node_Internal_F1NRDU110.10.100.101/302、AI工具安装与应用实例以往需要手动制作宏工具或者在表格内编辑公式现在借助AI工具可以实现自动化处理可以在个人电脑中安装以下软件python3.12软件稳定版本免费下载并安装环境。pycharm软件个人建议安装可选PyCharm‌ 是一个‌集成开发环境IDE为您提供编写、调试和管理 Python 代码的图形化界面。本人安装的是community-2025.1.2。TRAE IDE字节公司AI工具当前免费下载使用个人看重其支持用自然语言对话模式支持代码的编写、调试、测试等而且内置智能体多任务处理等。在安装好上述软件后即完成了第一步的工作环境搭建第二步AI工具应用先打开TRAE IDE工具用准备好的提示词可以通过自然语言跟SOLO Coder聊天期间等待其生成、测试以及工具导出第三步结果验证将生成的python程序在pycharm中打开运行即可若结果与预期一致则可做专题保存否则继续回到第二步中调试。运行结果如下可以新定义一个文件夹每次放入新的网管ip.txt地址文件经过pycharm运行程序后生成的traffic_oam_processed文件内容就是想要的结果。需要注意的是文中的表格内信息是“隐”去敏感信息的喂给AI部分也是如此敏感数据不能网上“裸奔”。3、案例代码展示import pandas as pd import re def process_traffic_data(input_file, output_fileoutput.csv, node_id_col0, router_id_col2, used_addr_col5, chunk_size10_000): 5G流量数据处理筛选Traffic_OAM节点并仅保留usedAddress中的IP地址 Args: input_file: 输入TXT文件路径 output_file: 输出CSV文件路径 node_id_col: NodeId所在列索引从0开始 router_id_col: RouterId所在列索引用于筛选Traffic_OAM used_addr_col: usedAddress所在列索引 chunk_size: 分块处理大小大文件适用 try: # 1. 探测文件表头信息 with open(input_file, r, encodingutf-8) as f: for _ in range(3): f.readline() # 跳过前3行 header_line f.readline().strip() col_count len(re.split(r\s, header_line)) # 验证列索引是否有效 if max(node_id_col, router_id_col, used_addr_col) col_count: print(f错误列索引超出范围共{col_count}列索引范围0~{col_count - 1}) return # 2. 分块读取与处理 reader pd.read_csv( input_file, sepr\s, header3, encodingutf-8, enginepython, chunksizechunk_size ) result_chunks [] total_rows 0 for chunk in reader: # 选择需要的列NodeId, RouterId, usedAddress selected_cols [node_id_col, router_id_col, used_addr_col] chunk chunk.iloc[:, selected_cols] chunk.columns [NodeId, RouterId, usedAddress] # 筛选Traffic_OAM记录基于RouterId列 mask chunk[RouterId].str.contains(Traffic_OAM, naFalse) filtered chunk[mask] if not filtered.empty: # 提取IP地址仅保留第一个/前的内容 filtered[usedAddress] filtered[usedAddress].str.split(/, n1).str[0] # 仅保留NodeId和处理后的IP地址 filtered filtered[[NodeId, usedAddress]] result_chunks.append(filtered) total_rows len(filtered) if not result_chunks: print(未找到包含Traffic_OAM的记录) return # 3. 合并结果并保存 result_df pd.concat(result_chunks, ignore_indexTrue) result_df.to_csv(output_file, indexFalse, encodingutf-8) print(f处理完成共筛选到 {total_rows} 条记录已保存至 {output_file}) return result_df except FileNotFoundError: print(f错误文件 {input_file} 未找到) except Exception as e: print(f处理错误{str(e)}) if __name__ __main__: input_path rE:\pathon\in_out\5g_ip\5g_ip.txt output_path rE:\pathon\in_out\5g_ip\traffic_oam_processed.csv # 修正参数node_id_col0原始NodeId列router_id_col2用于筛选 result process_traffic_data(input_path, output_path, node_id_col0, router_id_col2, used_addr_col5) if result is not None: print(\n数据预览仅保留NodeId和IP地址) print(result.head())

相关新闻