我是编码此类问题的新手,我对最简单的工具或解决方案持开放态度。我知道如何使用的工具似乎都无法打开文件。我宁愿避免使用excel,因为我希望最终批处理这个过程。我已经尝试了一段时间,无法自动完成这个简单的任务。我相信有一个简单的解决方案。
我只是想找到column 3
下方__
包含3以外的内容的实例,其中包含3以外的其他内容删除该行。
以下是我的数据包含在文本文件中的示例,其扩展名不是.txt
:
0.0004882812500000 136
0.000000 5850 __
4.674316 1307778 3
9.699219 2707354 3
14.932617 4165002 3
20.051270 5590690 3
24.809082 6915874 3
24.815430 6917642 2
29.786621 8302258 3
35.123535 9788738 3
35.123535 9788738 3
40.535645 11296162 1
我需要删除第三列中不包含3的行。我是编程新手,所以我愿意接受最简单工具的建议。我试过Python,但我的知识太有限了
我也试过Notepad ++进行搜索和替换,我添加了Python
插件,但我不知道从哪里开始。
如果我发布了这个错误,请道歉。
答案 0 :(得分:0)
目前尚不清楚是否需要脚本化答案来重新运行流程或者可以使用手动流程来执行操作(重新阅读您的帖子并看到您最终要编写此脚本out ...正则表达式仍然应该给你一个起点,即使你移过记事本++),但这是一个快速和肮脏的场景使用Notepad ++假设你的样本数据是代表性的(第3列中的2位数字将采取另一个元素在正则表达式):
正则表达式意思是:
希望这有帮助。
答案 1 :(得分:0)
如果您希望在python中执行此操作,那么这是一个起点:
linesWith3 = [] # Store lines with 3 in last column
with open("file.txt", "r") as f: # Open file
for line in f.readlines():
cols = line.split() # Split into array of columns
if "3" in cols[2]:
linesWith3.append(line) # Store line
with open("file2.txt", "w") as f: # Write array to file
for line in linesWith3:
f.write(line+'\n')