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

[文本处理] 批处理如何删除csv文本里每一行中的指定字符和替换指定位置的字符

[复制链接]
发表于 2016-9-22 15:33:27 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-9-22 20:14 编辑

csv文本数据处理求助
一个csv文本里都是这样的数据,要把
2015-10-08 08:59:00.500,97100.0,97610.0,1,97960.0,1,0

转换为

20151008,085900,500,97100.0,97610.0,1,97960.0,1,0

就是去掉所有的-和所有的:
同时第一个空格和第一个.改为,

谢谢大侠!

评分

参与人数 1PB -2 收起 理由
pcl_test -2 勿发笼统的标题

查看全部评分

发表于 2016-9-22 15:50:31 | 显示全部楼层
python3
  1. #文本替换
  2. #2016年9月22日 15:41:56 codegay
  3. with open("csv.txt","r+") as f:
  4.     csv = f.readlines()
  5.     newcsv=[r.replace(" ","",1).replace(".",",",1).replace("-","").replace(":","") for r in csv]
  6.     f.seek(0)
  7.     f.truncate()
  8.     f.writelines(newcsv)

复制代码
本质是一个简单的字符串替换。
 楼主| 发表于 2016-9-22 16:04:35 | 显示全部楼层
回复 2# codegay


    谢谢!刚一个大神给了这个方案:
sed -i 's/-//g' sn_0.csv

sed -i 's/://g' sn_0.csv

sed -i 's/ /,/g' sn_0.csv

sed -i 's/\./,/' sn_0.csv
发表于 2016-9-22 16:14:27 | 显示全部楼层
回复 3# szy56801


    别点回复我。这和我没关系。
发表于 2016-9-23 21:10:44 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2* delims=. " %%a in ('type "test.csv"') do (
  3.     set "str=%%a,%%b,%%c"
  4.     set "str=!str:-=!"
  5.     echo;!str::=!
  6. )
  7. pause
复制代码
发表于 2016-9-23 21:12:17 | 显示全部楼层
  1. powershell -c "(gc 'test.csv') -replace '-|:','' -replace '(?<=^\S+)\s+',',' -replace '(?<=^[^\.]+)\.',','"
  2. pause
复制代码
  1. //&cls&cscript -nologo -e:jscript "%~f0"<"test.csv"&pause&exit
  2. WSH.echo(WSH.StdIn.ReadAll().replace(/-|:/g,'').replace(/^(\S+)\s+/mg,'$1,').replace(/^([^\.]+)\./mg,'$1,'))
复制代码

  1. rem 第三方http://www.bathome.net/s/tool/index.html?key=gawk
  2. gawk "{gsub(/-|:/,"");sub(/[[:space:]]+/,",");sub(/\./,",")}1" test.csv
  3. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 07:30 , Processed in 0.013230 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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