我有一个csv文件,需要先进行格式化,然后才能将数据发送到zabbix,但是我在必须使用的1个csv中遇到了问题。
这是我遇到问题的文件部分的示例:
Some_String_That_ineed_01[ifcontainsCell01removehere],xxxxxxxxx02
Some_String_That_ineed_01vtcrmp01[ifcontainsCell01removehere]-[1],aass
因此这是文件中的2行,其他行我已经处理过。 我需要检查Cell01是否在行中
if 'Cell01' in h: do something.
我需要删除所有在beetwen上的内容,其中[]包含包含Cell01单词的[[]],仅保留以下内容:
Some_String_That_ineed_01,xxxxxxxxx02
Some_String_That_ineed_01vtcrmp01-[1],aass
否则,我的脚本已经变得非常简单。必须有一种更好的方法,然后我认为这是在第一个[中使用h.split的方法,然后在上再次分割,然后删除我想要的内容,然后添加剩下的总和字符串。因为我无法使用替换,因为我需要此数据([1])。
稍后会得到所需的结果,我会将其作为项目和项目key_添加到zabbix发送者中。我已经有了主机,时间戳,值。
答案 0 :(得分:0)
您应该使用正则表达式(重新模块):
import re
s = "Some_String_That_ineed_01[ifcontainsCell01removehere],xxxxxxxxx02"
replaced = re.sub('\[.*Cell01.*\]', '', s)
print (replaced)
将返回:
[root@somwhere test]# python replace.py
Some_String_That_ineed_01,xxxxxxxxx02
您还可以尝试here。