Python从文件中提取部分数据

时间:2015-06-21 20:12:19

标签: python

我的数据看起来像这样

test

我想要一个可以把它变成这个

的代码
{sdfsdfsdfsdfsdf}{sdfsdfsdfsfsdfsdf}{dfsdfsdfsdfsdfsf}{dfsdfsdfsfsdfsd}

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您可以在}上拆分并将其添加回每个分割线,切断最后一个}或使用re.findall将大括号与其间的任何内容匹配:

lines = """{sdfsdfsdfsdfsdf}{sdfsdfsdfsfsdfsdf}{dfsdfsdfsdfsdfsf}{dfsdfsdfsfsdfsd}"""

print("\n".join([line+"}" for line in lines.split("}")][:-1]))

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}

import  re

print("\n".join(re.findall("(\{.*?\})",lines)))

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}

来自档案:

    with open("foo.txt") as f:
        for line in f:
             print("\n".join(re.findall("(\{.*?\})",line)))