从记事本++中复制大量的行

时间:2017-06-27 09:05:28

标签: python notepad++

我有日志文件,超过一百万行,我使用Notepad ++查看数据。当我想提取特定单词(在与日期一致的独特句子中)并且在我计算之后,我得到超过400,000个匹配。

麻烦的是我无法在带有搜索/书签/复制书签线的Excel中复制它,因为记事本++冻结(可能是因为内存中的数据大小)。

还有其他替代解决方案吗?我可以使用Python脚本吗?

2 个答案:

答案 0 :(得分:0)

这应该有效:

lines = open(filepath, 'r').readlines()
for i in range(0,len(lines))
{
    if 'yourstring' in lines[i]:
        print("String found at line "+i+": "+lines[i])
}

答案 1 :(得分:0)

由于您的文件很大,我建议您对其进行流式读取,而不是使用readlines()创建一个完全不必要的大型列表(至少有1M个索引):

with open("your_file.ext", "r") as f:
    matched_lines = [line.rstrip() for line in f if "search string" in line]

现在你的matched_lines包含了包含你的字符串的所有行,你可以做任何你需要做的事情。