喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [问题] 急问:如何对文本中的某一列进行统计?  
 
030802127
新手上路
Rank: 1



UID 97230
精华 0
积分 5
帖子 3
金钱 5 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-8-20
状态 离线
[广告]: 代充Paypal帐号美元
急问:如何对文本中的某一列进行统计?

有文本文件data.txt如下:
aa|2|open|xiaolu|2007-05-10|
bb|1|close|xiaolu|2007-05-14|
cc|2|open|suhon|2007-05-10|
dd|3|close|suhon|2007-05-14|
要求实现:
比如输出所有xiaolu(即第四列中的某个关键字)的列,并且按第三列排序统计,其结果如下:
aa|2|open|xiaolu|2007-05-10|
bb|1|close|xiaolu|2007-05-14|

open: 1
close:1
请教各位该如何实现?谢谢

[ 本帖最后由 030802127 于 2007-8-20 12:25 PM 编辑 ]
2007-8-20 12:21 PM#1
查看资料  发短消息  顶部
 
wzhu (wzhu)
版主
Rank: 7Rank: 7Rank: 7
C[A-Z]O


UID 68040
精华 0
积分 47793
帖子 1568
金钱 47770 喜悦币
威望 0
人脉 23
阅读权限 100
注册 2006-1-14
来自 湖北荆州>陕西西安>辽宁 ...
状态 离线
[广告]: 代充Paypal帐号美元
读取到数组里面,慢慢操作吧



<?wzhu
wzhu.print("http://www.cncmm.com");
?>
2007-8-20 12:40 PM#2
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
030802127
新手上路
Rank: 1



UID 97230
精华 0
积分 5
帖子 3
金钱 5 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-8-20
状态 离线
[推荐阅读] exec()调用服务器端应用程序
回复 #1 030802127 的帖子

$data=file("data.txt");
$count=count($data);
for ($i=0;$i<$count;$i++)
{
    $row=explode(" | ",$data[$i]);
}
这样可以得到每一列的数据row[0],row[1],row[3]
但如何根据row[3]中的某个关键字输出与该关键字相匹配的所有记录,并且对输出的记录按row[2]这一列统计出来呢?


[ 本帖最后由 030802127 于 2007-8-20 12:48 PM 编辑 ]
2007-8-20 12:47 PM#3
查看资料  发短消息  顶部
 
lovecom
中级会员
Rank: 3Rank: 3



UID 80708
精华 0
积分 211
帖子 99
金钱 211 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-9-28
状态 离线
[推荐阅读] 发送邮件问题!
<?
chdir("e:\dss");
$data=file("a.txt");
foreach ($data as $key=>$value){
        $arr=explode("|",$value);
        $row[$arr[3]][$arr[2]]++;
}
foreach ($row as $key=>$val){
        //定义条件
        if ($key=="xiaolu") {
                foreach ($val as $k=>$tmp){
                        echo $k."\t".$tmp."\n";
                }
        }
}

?>

[[i] 本帖最后由 lovecom 于 2007-8-20 01:52 PM 编辑 [/i]]
2007-8-20 01:50 PM#4
查看资料  发短消息  顶部
 
030802127
新手上路
Rank: 1



UID 97230
精华 0
积分 5
帖子 3
金钱 5 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-8-20
状态 离线
[推荐阅读] 传说是这样的……
回复 #4 lovecom 的帖子

嗯,非常感谢,这个能得出统计结果,但怎样才能把与关键字相匹配的每一行记录也完整的显示出来呢?
2007-8-20 02:36 PM#5
查看资料  发短消息  顶部
 
lovecom
中级会员
Rank: 3Rank: 3



UID 80708
精华 0
积分 211
帖子 99
金钱 211 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-9-28
状态 离线
[推荐阅读] 帮我看这个递归调用的问题在那里
<?
chdir("e:\dss");
$data=file("a.txt");
foreach ($data as $key=>$value){
        $arr=explode("|",$value);
        $row[$arr[3]][$arr[2]]['count']++;
        $row[$arr[3]][$arr[2]]['keystr'][]=$value;
}
foreach ($row as $key=>$val){
        //定义条件
        if ($key=="xiaolu") {
                foreach ($val as $k=>$tmp){
                        echo $k."\t".$tmp['count']."\t"."\n";
                        echo "nore info:\n";
                        foreach($tmp['keystr'] as $dd){
                                echo $dd;
                        }
                }
        }
}

?>
2007-8-20 03:23 PM#6
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.049630 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP