我正在尝试读取许多文件,并从这些文件中的特定列写入另一个文件。我读到了如何做到这一点,但它不起作用。有人能帮我在脚本中实现pawk吗?你知道吗
j = j + 1
#with open('a1_gather_{j}.txt'.format(j=j)) as f2:
f2 = open('a1_gather_{j}.txt'.format(j=j), 'w')
k=k+1
print k
f1 = open('a1_{k}'.format(k=k))
# with open('a1_{k}'.format(k=k), 'a') as f1:
lines = f1.readlines()
for i, line in enumerate(lines):
print i
if line.startswith(searchquery):
f2.write(line)
f2.write(lines[i + 1])
f2.write(lines[i + 2])
i = i+1
else :
i = i+1
#os.close(f1)
f1.close()
# awk '{a[FNR]=a[FNR]?a[FNR]" "$2:$2}END{for(i=1;i<=length(a);i++)print a[i]}' *
f2.close()
我更喜欢f = open
而不是with open
来避免错误IOError: (9, 'Bad file descriptor')
。你知道吗
要读取的文件有1000行和两列。我只需要将每个文件的第二列写入另一个文件。你知道吗
有人能纠正我的脚本,并指出如何可以使用pawk?你知道吗
这个人读写了整行。我也可以用这一点,但任何建议的知识,如何可以读和写只有第二列是赞赏和惠康。你知道吗
对于这个特定任务,您可以完全放弃python,改用^{} 命令:
默认情况下,它使用制表符作为列分隔符,
-d
选项允许您更改它。你知道吗{start..stop}
表示法可以更好地控制匹配的文件。你知道吗假设您需要将第二列从
a1_*
文件写入a1_gather
文件,并使用您在注释中提到的awk,您可以在终端中运行简单的命令:其中:
cat a1_*
代表文件名以a1_
awk '{print $2}'
表示打印第二列> a1_gather
是并将其保存到文件a1_gather
如果您将来对使用awk更感兴趣,this is really useful tutorial可以从中学习。你知道吗
相关问题 更多 >
编程相关推荐