正则表达式从csv到csv输出

时间:2016-12-16 14:35:31

标签: python regex python-2.7 python-3.x csv

我想将结果保存在我的csv中。但不知何故,它仍然是空的。但是如果我在csv中写入相同的输出并且只有print我得到了我想要的结果。

import re
import glob
import os
## is the second script for matchParser.py, match the results for Duration in ms digit
lines = [line.strip() for line in open('output.csv')]
for result in lines:

    match = re.search(r'(!?\s.\d[Request completed in\s])', result)
    if match: print match.group(0)

但是这个带有output_csv的版本无法正常工作,我不知道为什么......

import re
import glob
import os

lines = [line.strip() for line in open('output.csv')]
for result in lines:

    match = re.search(r'(!?\s.\d[Request completed in\s])', result)
    with open('outputREGEX5.csv', "w") as output_csv:
        if match: output_csv.write(match.group(0))

我也收到以下错误:

output.write(match.group(0))
AttributeError: 'NoneType' object has no attribute 'group'

感谢任何帮助。

- 的修改 我的print输出:

 44 
 37 
 53 
 35 
 17 
 35 
 25 
 27 
 50 
 31 
 27 
 36 
 17 
 66 
 46 
 41 
 38 
 23 
 33 

1 个答案:

答案 0 :(得分:4)

open('outputREGEX5.csv', "w")

清空文件。只在循环外打开一次文件,而不是每次迭代都打开它。

with open('outputREGEX5.csv', "w") as output_csv:
    for result in lines:
        match = re.search(r'(!?\s.\d[Request completed in\s])', result)
        if match: output_csv.write(match.group(0) + '\n')