免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2982 | 回复: 1
打印 上一主题 下一主题

求助,怎样多个文件对比合并出结果? [复制链接]

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
1 [报告]
发表于 2016-08-18 20:01 |显示全部楼层
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. my ($first, %hData) = "";
  5. while (<>){
  6.     chomp;
  7.     my @aList = split (/,/, $_, -1);
  8.     if (@ARGV){
  9.         $first = $ARGV if ($first eq "");
  10.         my @aT = ($aList[-1], 0);
  11.         if ($first eq $ARGV){
  12.             push (@{$hData{$aList[0]}}, @aT);
  13.         }else{
  14.             my $has = exists $hData{$aList[0]};
  15.             push (@{$hData{$aList[0]}}, $has ? @aT : (0, 0, @aT));
  16.         }
  17.         next;
  18.     }
  19.     if (exists $hData{$aList[4]}){
  20.         my @aT = @{$hData{$aList[4]}};
  21.         @aList[5 .. 8] = @aT > 2 ? @aT : (@aT, 0, 0);
  22.     }
  23.     print join (",", @aList), "\n";
  24. }
复制代码
perl abc.pl a b c
-------------------------------------------------------------------
xa,1,张三,男,13288888888,1,0,200,0,,,,
sh,2,李四,男,13288888889,7,0,0,0,,,,
sh,3,王五,女,13288888890,0,0,5000,0,,,,
bj,4,毛六,男,13288888891,0,0,0,0,,,,

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
2 [报告]
发表于 2016-08-18 20:23 |显示全部楼层
如果不是以编程的方式修改 MS Excel 单元格内容的话, 可以使用 LibreOffice 办公套件. 开源, 跨平台.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP