格式化CSV文件以利用zabbix发送者

时间:2018-12-20 18:46:16

标签: python zabbix

我有一个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发送者中。我已经有了主机,时间戳,值。

1 个答案:

答案 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