格式化 csv 文件以使用 zabbix sender

Formating csv file to utilize zabbix sender

我有一个 csv 文件,我需要先对其进行格式化,然后才能将数据发送到 zabbix,但是我在必须使用的 csv 之一中遇到了问题。

这是我遇到问题的文件部分的示例:

    Some_String_That_ineed_01[ifcontainsCell01removehere],xxxxxxxxx02
    Some_String_That_ineed_01vtcrmp01[ifcontainsCell01removehere]-[1],aass

所以这是文件中的 2 行,其他行我已经处理过了。 我需要检查 Cell01 是否在行

    if 'Cell01' in h: do something.

我需要删除 [ ] 包含的包含 Cell01 单词的 [] 之间的所有内容,只留下这个:

    Some_String_That_ineed_01,xxxxxxxxx02
    Some_String_That_ineed_01vtcrmp01-[1],aass

否则我的脚本已经很容易处理了。必须有比我认为的更好的方法,即首先使用 h.split [ 然后再次拆分 ,然后删除我想要的内容,然后添加剩下的内容和字符串。因为我不能使用替换因为我需要这个数据([1])。

稍后获得所需的结果,我会将其添加到 zabbix 发件人作为项目和项目 key_。我已经有了主机、时间戳、值。

您应该使用正则表达式(re 模块):

import re

s = "Some_String_That_ineed_01[ifcontainsCell01removehere],xxxxxxxxx02"
replaced = re.sub('\[.*Cell01.*\]', '', s)

print (replaced)

将return:

[root@somwhere test]# python replace.py
Some_String_That_ineed_01,xxxxxxxxx02

您也可以尝试 here