24小时热门版块排行榜    

查看: 958  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zhangyujin

铜虫 (正式写手)

[求助] 怎样拣出一系列文档中每个文档第二列的最大值

我的程序运行出来结果是这样存放的:一个主文件夹下有十个子文件夹名字各不相同1、2、3、4……,每个子文件夹下有三十个.dat文档名字也不相同(z_0_E_t.dat/z_2_E_t.dat……),每个文档中有两列数据,每列有55602行。我需要把每个子文件夹中z_0_E_t.dat和z_2_E_t.dat中第二列的最大值求出来,然后把这些最大值放在一个文档中输出来,输出格式是二列,第一列存放的是十个子文件夹每个文件夹中的z_0_E_t.dat文档的第二列的最大值,第二列存放的是十个子文件夹每个文件夹中的z_2_E_t.dat文档的第二列的最大值。哪位高手能编写个小程序实现这个功能?什么语言都可以。感激不尽啊。
回复此楼
Hardworking!!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haixiawu

金虫 (文坛精英)

【答案】应助回帖

python version: 可在windows下运行。

#start of script
#!/usr/bin/env python

def GetMax(fs):
   f = open(fs, "r"
   max = 0
   for line in f.readlines():
      v = line.split()[1]
      if v > max:
          max = v
   f.close()
   return max

if __name__ == "__main__":
   m1 = []
   m2 = []
   import sys
   main_dir= sys.argv[1]
   f = open("result.txt", "w+"
   for i in range(1, 11):
       m1 = GetMax("%s/%d.f90.out/z_0_E_t.dat"%(main_dir, i))
       m2 = GetMax("%s/%d.f90.out/z_2_E_t.dat"%(main_dir, i))
       f.write("%d %d\n"%(m1, m2))
   f.close()
#end of script
运行方法:在命令行下运行
python process.py "C:/"
6楼2013-03-02 16:17:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

liuhuisfp

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-03-02 14:13:23
zhangyujin: 金币+10, 有帮助, 这样出来的不是按照顺序排列的呢 显示出来的数据有大有小 没什么规律 2013-03-02 21:03:29
cut -d\' \' -f 2 youfile | sort |tail

记不清这几个命令的参数了,如果不对看下帮助

基本方法是:
利用管道

cut的-d指定列与列间的分隔符,-f指定你要的列
sort将数据排序,排序貌似是升序,如果不对,加参数要求按数值或字符排
tail取最后10个

[ 发自手机版 http://muchong.com/3g ]
2楼2013-03-02 11:18:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖

感谢参与,应助指数 +1
你说的这么复杂,把你的文件贴出来看看
原始文件以及想要生成的目标文件都贴出来,这种文件处理的编程需要看过文件后才能确定。
还有,z_0_E_t.dat和z_2_E_t.dat的名字是固定的,还是你随便写的,或者在各个文件夹里面仍有变化。
这些问题都要说明清楚。
努力学习!以正当途径!获得需要的知识!
3楼2013-03-02 14:19:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangyujin

铜虫 (正式写手)

如图,Result文件夹下有1.f90.out-10.f90.out个子文件夹,每个子文件夹下有若干个.dat文件(输出文件是文本文档,图片中的显示有问题,应该是写字板的图标),右侧是文本文档中的内容,我需要把第二列的数据的最大值寻出来。

_{}F4OG1Q1W7R~Z@6(G~LTV.jpg

Hardworking!!
4楼2013-03-02 15:41:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见