我有日志文件,超过一百万行,我使用Notepad ++查看数据。当我想提取特定单词(在与日期一致的独特句子中)并且在我计算之后,我得到超过400,000个匹配。
麻烦的是我无法在带有搜索/书签/复制书签线的Excel中复制它,因为记事本++冻结(可能是因为内存中的数据大小)。
还有其他替代解决方案吗?我可以使用Python脚本吗?
答案 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
包含了包含你的字符串的所有行,你可以做任何你需要做的事情。