python脚本实现在servercsv表中通过设备别名列数据在shanxlsx表中匹配从281420列依次到末尾列然后抓取匹配到的数据的右侧第二个单元格数据并复制到servercsv表第二列为SN列
以下是实现这个任务的Python脚本:
import pandas as pd
# 加载server.csv表和shan.xlsx表
server_df = pd.read_csv('server.csv')
shan_df = pd.read_excel('shan.xlsx')
# 获取设备别名列数据
alias_list = server_df['设备别名'].tolist()
# 初始化SN列
sn_list = [''] * len(server_df)
# 遍历每个设备别名
for alias in alias_list:
# 从shan.xlsx表中匹配对应列
for i in range(2, shan_df.shape[1]):
if shan_df.iloc[0, i] == alias:
# 获取右侧第二个单元格数据
sn = shan_df.iloc[1, i+1]
# 更新SN列
sn_list[alias_list.index(alias)] = sn
break
# 更新server.csv表中的SN列
server_df['SN'] = sn_list
# 保存更新后的server.csv表
server_df.to_csv('server.csv', index=False)
说明:
- 通过
pandas库加载server.csv表和shan.xlsx表。 - 通过
tolist()方法获取设备别名列数据。 - 初始化SN列为长度为设备别名列的空列表。
- 遍历每个设备别名,从
shan.xlsx表中匹配对应列,找到后获取右侧第二个单元格数据并更新SN列。 - 更新
server.csv表中的SN列。 - 通过
to_csv()方法保存更新后的server.csv表,index=False参数表示不保存行索引。
原文地址: https://www.cveoy.top/t/topic/FJe 著作权归作者所有。请勿转载和采集!