[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助BAT脚本批量处理某个文件夹内的csv文件

本帖最后由 13375773396 于 2021-9-8 15:36 编辑

能否帮助实现批量处理某个文件夹内的csv文件,稍微有点复杂。
源文件 内容为   第一行 分别为

己方号码        己方卡号        己方机身码        截获时间*        呼叫类型*        对方号码        时长        己方位置区        对方手机归属地        己方小区       
需要将原数据每一列进行剪切调换位置并对 截获时间* 数据列分列成两列数据分别重新命名为呼叫日期  呼叫时间
己方号码        己方卡号        己方机身码        己方位置区        己方小区        小区名称        呼叫日期        呼叫时间        对方号码        时长        呼叫类型

能否帮助写个代码,万分感谢。

源文件和输出文件已上传至云盘 链接: https://pan.baidu.com/s/1xOMq0yFPd3dFOq_wKwNCEA 提取码: upba

回复 12# 13375773396
太乱了!
源数据中:对方手机归属地、对方通话地、手机归属地都出现两次;
输出数据:好多是源数据中没有的名称。不知如何与源数据中对应?

TOP

回复 11# qixiaobin0715


    谢谢回复,刚试了下代码,第一行名称还没有实现完美

能否帮助完美实现下,
源数据
第一行  为
己方号码        己方卡号        己方机身码        截获时间*        呼叫类型*        对方号码        时长        己方位置区        对方手机归属地        己方小区        己方基站名称        对方手机归属地*        己方通话地*        对方通话地*        对方通话地        手机归属地*        交换机号        第三方号码        运营商*        手机归属地
希望输出数据的第一行  为
己方号码        己方卡号        己方机身码        己方位置区        己方小区        小区名称        呼叫日期        呼叫时间        对方号码        时长        呼叫类型        己方归属地        己方归属地名称        对方归属地        对方归属地名称        己方通话地        己方通话地名称        前位置区        前小区

其中小区名称列   以及  己方归属地        己方归属地名称        对方归属地        对方归属地名称        己方通话地        己方通话地名称        前位置区        前小区  可以数据为空

目前转后的第一行为
己方号码        己方卡号        己方机身码        己方位置区        己方小区        对方手机归属地        截获时间*                对方号码        时长        呼叫类型*

缺少的是小区名称列  呼叫日期        呼叫时间 呼叫类型  

不知道为什么改名称没有实现出来

TOP

本帖最后由 qixiaobin0715 于 2021-9-10 05:55 编辑

回复 10# 13375773396
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%k in (*.csv) do (
  4.     (for /f "tokens=1-10 delims=," %%a in ('type "%%k"') do (
  5.         set "str=%%~d"
  6.         set "str=!str:截获时间*=呼叫日期 呼叫时间!"
  7.         for /f "tokens=1,2" %%x in ("!str!") do set "str1=%%x,%%y"
  8.         set "str2=%%e"
  9.         set "str2=!str2:呼叫类型*=呼叫类型!"
  10.         echo,%%a,%%b,%%c,%%h,%%j,%%i,!str1!,%%f,%%g,!str2!
  11.     ))>"new_%%k"
  12. )
  13. pause
复制代码

TOP

回复 9# qixiaobin0715


    对方归属地可以不提取

TOP

对方手机归属地
小区名称
这2个名称对应不上?

TOP

回复 5# Batcher


    链接: https://pan.baidu.com/s/1xOMq0yFPd3dFOq_wKwNCEA 提取码: upba 复制这段内容后打开百度网盘手机App,操作更方便哦




    已上传云盘,能否帮助解决下。O(∩_∩)O谢谢

TOP

回复 6# qixiaobin0715

链接: https://pan.baidu.com/s/1xOMq0yFPd3dFOq_wKwNCEA 提取码: upba 复制这段内容后打开百度网盘手机App,操作更方便哦




    已上传云盘,能否帮助解决下。O(∩_∩)O谢谢

TOP

回复 4# 13375773396
你可以把其中一个CSV文件用记事本打开,复制部分内容,再贴出来也可。

TOP

回复 4# 13375773396


    网页可能导致文本格式的变化,请把csv上传到阿里云盘或百度网盘。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    源数据
  己方号码        己方卡号        己方机身码        截获时间*        呼叫类型*        对方号码        时长        己方位置区        对方手机归属地        己方小区        己方基站名称
"13000000000        "        "400000000000000        "        "0000000000        "        "2010-01-01 12:00:00        "        "主叫        "        "13011111111        "        "20        "        "50000        "        "        "        "5000        "        "        "   

输出数据
己方号码        己方卡号        己方机身码        己方位置区        己方小区        小区名称        呼叫日期        呼叫时间        对方号码        时长        呼叫类型
"13000000000        "        "400000000000000        "        "0000000000        "        "50000        "        "5000        "                2010-01-01        12:00:00        "13000000000        "        "20        "        "主叫        "


大致的数据内容就是这样子的

TOP

源数据
  己方号码        己方卡号        己方机身码        截获时间*        呼叫类型*        对方号码        时长        己方位置区        对方手机归属地        己方小区        己方基站名称
"13000000000        "        "400000000000000        "        "0000000000        "        "2010-01-01 12:00:00        "        "主叫        "        "13011111111        "        "20        "        "50000        "        "        "        "5000        "        "        "   

输出数据
己方号码        己方卡号        己方机身码        己方位置区        己方小区        小区名称        呼叫日期        呼叫时间        对方号码        时长        呼叫类型
"13000000000        "        "400000000000000        "        "0000000000        "        "50000        "        "5000        "                2010-01-01        12:00:00        "13000000000        "        "20        "        "主叫        "


大致的数据内容就是这样子的

TOP

回复 1# 13375773396


    请给出几行真实数据以便更好的说明需求,敏感信息请注意脱敏。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表