找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28084|回复: 4

[文本处理] 批处理如何实现在多个txt文本的相邻两行之间插入多行特定数据内容

[复制链接]
发表于 2016-11-7 10:56:22 | 显示全部楼层 |阅读模式
连续插入多行【着急,跪求大神帮助】
很多TXT文件,特征如下:第一列为深度,第二列为含量
深度           含量
2601.11        5.2
2603.2        29.3
2639.64        29.9
如何能批量按深度0.01米连续插入行,含量值均为-999.25,如下:
深度        含量       
2601.11         5.2       
.........      -999.25
........        -999.25       
2603.2         29.3       
.. .......     -999.25
........        -999.25       
2639.64         29.9
最终插入后的深度数据间隔0.01米,含量数据均为-999.25。

评分

参与人数 1PB -30 收起 理由
523066680 -30 急的话你倒是悬赏啊~

查看全部评分

发表于 2016-11-7 15:17:24 | 显示全部楼层
  1. set data='2601.11        5.2','2603.2        29.3','2639.64        29.9'
  2. powershell -c "$a=%data%;0..($a.count-2)|%%{$a[$_];$b=$a[$_] -split '\s+';$c=$a[($_)+1] -split '\s+';$d=1*$b[0];while($d -lt ($c[0]-0.01)){$d+=0.01;'{0:0.00}      -999.25' -f $d}};$a[-1]"
  3. pause
复制代码
 楼主| 发表于 2016-11-7 15:47:51 | 显示全部楼层
这个powershell怎么运行啊?  请原谅我这个小白问这么白痴的问题
发表于 2016-11-7 16:41:45 | 显示全部楼层
perl,可能功力不够,略长
  1. open READ,"<:raw","a.txt";
  2. open WRT,">:raw","b.txt";

  3. print WRT scalar(<READ>);
  4. my @all = <READ>;

  5. for my $i (0 .. $#all-1)
  6. {
  7.     $all[$i] =~/([\d\.]+)\s+/;
  8.     $dpa = $1;
  9.     $all[$i+1] =~/([\d\.]+)\s+/;
  10.     $dpb = $1;

  11.     printf(WRT $all[$i]);
  12.     for (my $n = $dpa+0.01; $n < $dpb; $n+=0.01)
  13.     {
  14.         printf(WRT "%.2f       -999.25\r\n", $n);
  15.     }
  16. }
  17. printf(WRT $all[$#all]);

  18. close READ;
  19. close WRT;
复制代码
发表于 2016-11-8 00:24:39 | 显示全部楼层
本帖最后由 CrLf 于 2016-11-8 00:52 编辑

回复 5# 523066680


    取巧解法嗯哼
  1. open READ,"<:raw","a.txt";
  2. open WRT,">:raw","b.txt";

  3. print WRT scalar(<READ>);
  4. my @all = <READ>;
  5. %map = split(/\s+/g);

  6. for($all[0]*100 .. $all[-1]*100){
  7.         $_ /= 100;
  8.         printf WRT "$_\t%s\r\n", exists $map{$_} ? $map{$_} : -999.25 ;
  9. }
复制代码

评分

参与人数 1PB +6 技术 +1 收起 理由
523066680 + 6 + 1 斯国一

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 08:59 , Processed in 0.027777 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表