将re.search的结果打印为CSV字符串



我正在编写一个脚本,从日志中解析出感兴趣的行。除了打印行外,它工作得很好。我有一个参数化的正则表达式,我在一个re.search中使用,它返回我的结果。我可以单独打印它们,也可以循环遍历列表。

我的问题是,对于每个匹配,我想打印一个CSV行,基本上每个值都在引号中,中间有一个逗号(并且行尾没有逗号)。有简单的方法吗?

我有这个:

   if lineMatch:
      for capturedToken in lineMatch.groups():
        #print capturedToken

使用Python 2.7我如何打印为CSV行(后面跟着一个新行)?

我试过print/end,但据我所知,这只是Python 3。x -我尝试的每一个变体都有语法错误。我确信有一种很酷的python方式可以将linematch组中的值打印为逗号分隔的列表;我就是找不到它!

我想你想要这个:

if lineMatch:
    print(', '.join(['"{}"'.format(t) for t in lineMatch.groups()]))

用法:

>>> m = re.search('(d{4})-(S+)', "1995-jun")
>>> print ', '.join(['"{}"'.format(i) for i in m.groups()])
"1995", "jun"

像这样使用字符串连接方法:

print ",".join(lineMatch.groups())

最新更新