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


嗯,这段代码能应付现在的情况后我会整理下的~

TOP

回复 32# 依山居

现在实际情况有那种本行以,结尾第二行以"开头的正确数据

TOP

回复 30# 依山居


   发现一个解决一个吧

TOP

  1. @echo off
  2. ::依山居 13:01 2015/11/18
  3. ::fr 不带-stdout参数会直接修改原文件,所以复制s.txt为ss.txt运行测试
  4. ::fr 使用-s 可以列举子目录修改匹配的文件。注意做好备份
  5. copy s.txt ss.txt /y
  6. ::以引号结尾,不以引号开头,就删掉回车换行。这个规则好处理测试可行。
  7. fr ss.txt -rnnlic:\"(\r\n)[^\"] -t:
  8. pause
复制代码
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 29# qq253040425


    你需要把各种情况整理到汇总到帖子里。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 29# qq253040425

我直觉认为。这货要能正常工作必须固定列。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 28# 依山居


    嗯 谢谢提醒

del文件的内容和我那个txt的内容是一样的,del其实也是文本文件

我觉得固定列数并不科学,我感觉

newtxt=[txt[r][:]+txt[r+1][:] if ('\"' not in txt[r][-1]) else txt[r] for r in range(rn) ]
newtxt=[r+"\n" for r in newtxt if '\"' in r[0]]

这一段修改一下,因为实际文件中的错误情况只有一种: n行的最后一个字段不以”结尾且n+1行不以”开头

TOP

回复 27# qq253040425


    下次再提问传实际文件,敏感信息用其它字替换掉就行。

我不熟悉db2 的del文件格式。
导出的数据,固定是多少列?
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

本帖最后由 qq253040425 于 2015-11-18 11:38 编辑

回复 25# 依山居

大神!!
    出现问题了。。

数据中有
"LS81702201409060006659","20",,"817029700","817029700","2","9","",,,,,
不以“结尾,以,结尾的数据,这样的子的数据是正确的数据,

Traceback (most recent call last):
  File "F:\BAT\tt\check_del_here.py", line 29, in <module>
    newtxt=[txt[r][:]+txt[r+1][:] if ('\"' not in txt[r][-1]) else txt[r] for r in range(rn) ]
  File "F:\BAT\tt\check_del_here.py", line 29, in <listcomp>
    newtxt=[txt[r][:]+txt[r+1][:] if ('\"' not in txt[r][-1]) else txt[r] for r in range(rn) ]
IndexError: list index out of range

TOP

回复 13# CrLf


不好意思 - - 真的出现这种断行了

但是数据是正常的数据,不是错误数据

TOP

本帖最后由 依山居 于 2015-11-18 10:16 编辑

从楼主给的例子看,我的代码可靠性差啊。我的代码判断的是不以“结尾的行与下一行连接。
第二行不以“开头,但是第一行”结尾。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

  1. @if (0)==(0) echo off
  2. cscript //nologo //e:jscript "%~0" < a.txt > b.txt
  3. pause & exit
  4. @end
  5. var s = WSH.StdIn.ReadAll().replace(
  6.     /("[^"]*?)[\r\n]+([^"]*")/g,
  7.     function(s0,s1,s2){if (s1+s2=='""'){return s0}else return s1+s2}
  8. )
  9. WSH.Echo(s)
复制代码

TOP

外部命令可用不
  1. sed -ni ":a;$!N;/\n[^\"].*/s/\n//;ta;P;D" *.txt
复制代码

TOP

回复 21# qq253040425

其中我也不会。自己百度啦。
就是打包成EXE

你用python mini打包成exe也可以。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 20# 依山居


我在官网下载的64位的python3.5 = = 能不能教下如何封装exe

TOP

返回列表