使用python在附件EXCEL SHEET“电路路由表”的“全程路由”字段中搜索“客户端设备网元编号”SHEET的设备编号,并填入“客户端设备”字段,多个设备用“,”隔开。
时间: 2024-09-21 08:06:25 浏览: 59
在Python中,你可以使用pandas库来处理Excel文件,包括读取数据、搜索特定内容并进行填充。假设你的`circuit_routing.xlsx`文件有两个工作表,"电路路由表"和"SHEET",并且它们有相应的列对应于"全程路由"和"设备编号"。
首先,你需要安装pandas(如果还没有安装):
```bash
pip install pandas openpyxl # 如果你还没安装这两个库
```
然后,可以按照以下步骤操作:
```python
import pandas as pd
# 读取Excel文件
excel_file = 'circuit_routing.xlsx'
circuit_sheet = pd.read_excel(excel_file, sheet_name='电路路由表')
client_sheet = pd.read_excel(excel_file, sheet_name=SHEET_NAME) # 将SHEET_NAME替换为你实际的工作表名称
# 定义要搜索的设备编号列表
device_numbers = client_sheet['设备编号'].tolist()
# 搜索并提取“全程路由”中的设备编号,将结果存储在一个字典中
route_devices = {}
for device in device_numbers:
route_devices[device] = circuit_sheet[circuit_sheet['全程路由'].str.contains(device)]['全程路由']
# 合并匹配的结果并添加到“客户端设备”列
route_devices_series = pd.Series(route_devices).apply(lambda x: ', '.join(x.dropna().astype(str))) # 删除空值并连接成字符串
circuit_sheet['客户端设备'] = route_devices_series
# 保存修改后的表格
circuit_sheet.to_excel('updated_circuit_routing.xlsx', index=False)
```
阅读全文