olga 发表于 2018-8-31 06:01:08

perl清洗数据文件 很无语~..

  use File::Spec;
  #G:\perl\flw\data_flw.txt;
  #$doc=File::Spec->catfile("G:\\perl\\flw","detail.dat");
  $doc=detail.dat;
  print $doc;
  $ARGV = qw/detail.dat/;#这里保存要修改的文件,与脚本放在同一个目录下
  $^I=".bak";#:$^I的值可以决定是要重写文件,还是备份文件,若要重写,只须将其值设为空就可,若要备份,则$^I=".bak", 他就会把改过的文件命名为filename.bak了
  while()
  {
  s/\|/,/g; #分隔符转换成
  s/\t//g;#去掉每个字段中的多余制表符
  print;
  }
  1:功能烂$^I必须生成.bak文件才能进行修改,无法直接写文件
  2:$ARGV = "detail.dat" 致使数据文件必须和perl在同一个目录里,无法直接修改其他目录文件。
  。。。。

页: [1]
查看完整版本: perl清洗数据文件 很无语~..