我正在编写一个脚本来解析日志中感兴趣的行。除打印线条外,它运行良好。我有一个参数化的正则表达式,我在re.search
中使用,它返回我的结果。我可以单独打印它们,也可以循环浏览列表。
我的问题是,对于每个匹配,我想要打印一个CSV行,基本上每个值都用引号括起来(并且在行尾没有逗号)。有一个简单的方法吗?
我有这个:
if lineMatch:
for capturedToken in lineMatch.groups():
#print capturedToken
使用Python 2.7我将如何打印为CSV行(后跟新行)?
我已经尝试过打印/结束,但据我所知,这只是Python 3.x - 我试过的每个变体都给了我语法错误。我确定有一种很酷的Pythonic方法可以将linematch组中的值打印为逗号分隔列表;我似乎无法找到它!
答案 0 :(得分:1)
我想你想要这个:
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"
答案 1 :(得分:0)
使用来自这样的字符串的连接方法:
print ",".join(lineMatch.groups())