gpt4 book ai didi

Python - 将包含 IP 地址和不同数据的文本文件的列表转换为 CSV

转载 作者:太空宇宙 更新时间:2023-11-03 20:36:09 27 4
gpt4 key购买 nike

我的任务是从多个文本文件创建 NFS 共享和关联 IP 的列表,并将其保存为 CSV。该文件包含 NFS 共享名称和 IP 以及我不希望包含在 CSV 中的其他数据

文本文件示例:

/vol/vm-01
-sec=sys,rw=10.44.160.133:10.44.160.132:10.44.160.131:10.44.160.130,root=10.44.160.133:10.44.160.132:10.44.160.131:10.44.160.130 /vol/vol01
-sec=sys,rw=10.44.202.39:10.44.202.73,root=10.44.202.39:10.44.202.73

我使用了正则表达式并很容易地过滤掉了 IP,但找不到合并卷名的方法。


# Scrape file for IP's using RegEx
with open('input.txt') as f:
qlist = [re.findall( r'[0-9]+(?:\.[0-9]+){3}', i ) for i in f.readlines()]
for x in range(len(qlist)):
print(qlist[x])

示例输出:

['10.44.160.133', '10.44.160.132', '10.44.160.131', '10.44.160.130', '10.44.160.133', '10.44.160.132', '10.44.160.131', '10.44.160.130'] ['10.44.202.39', '10.44.202.73', '10.44.202.39', '10.44.202.73']

期望的输出:

['vm-01', '10.44.160.133', '10.44.160.132', '10.44.160.131', '10.44.160.130', '10.44.160.133', '10.44.160.132', '10.44.160.131', '10.44.160.130'] ['vol01', '10.44.202.39', '10.44.202.73', '10.44.202.39', '10.44.202.73']

最佳答案

这是完成这项工作的一种方法:

import re

qlist = []
with open('input.txt') as f:
for line in f.readlines():
tmp = []
# search the volume name
m = re.search(r'/vol/(\S+)', line)
tmp.append(m.group(1))
# loop on all IPs
for i in re.findall( r'[0-9]+(?:\.[0-9]+){3}', line ):
tmp.append(i)
qlist.append(tmp)
for x in range(len(qlist)):
print(qlist[x])

输出:

['vm-01', '10.44.160.133', '10.44.160.132', '10.44.160.131', '10.44.160.130', '10.44.160.133', '10.44.160.132', '10.44.160.131', '10.44.160.130']
['vol01', '10.44.202.39', '10.44.202.73', '10.44.202.39', '10.44.202.73']

关于Python - 将包含 IP 地址和不同数据的文本文件的列表转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57156305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com