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

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

TOP

回复 31# 依山居


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

TOP

回复  依山居

大神!!
    出现问题了。。

数据中有
"LS81702201409060006659","20",,"81702 ...
qq253040425 发表于 2015-11-18 11:33



    主要是27楼这种情况,现在的代码会报错

TOP

回复 37# 依山居

好吧,那能不能帮忙解释下

    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]]   

这一段什么意思呢~ 看不明白

TOP

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

回复 37# 依山居


    针对27楼的情况

报错的行修改为
newtxt=[txt[r][:]+txt[r+1][:] if ((',' not in txt[r][-1]))  else txt[r] for r in range(rn) ]
能过,但是原来想处理的情况就不行了,用or连击两个条件
newtxt=[txt[r][:]+txt[r+1][:] if (('\"' not in txt[r][-1]) or ('\"' not in txt[r][-1]))  else txt[r] for r in range(rn) ]
也是list out of range,最后再改成
newtxt=[txt[r][:]+txt[r+1][:] if ( ('\"' or ',') not in txt[r][-1])  else txt[r] for r in range(rn) ]
就发现 ('\"' or ',')  这里,谁在前才会生效

TOP

回复 41# 依山居


    不行 - -  

还有 txt[r][:]是什么意思?

TOP

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

回复 43# 依山居


    最后表示感谢,1L已更新,19L代码也更新了,27L的情况在数据库端控制好就完美解决啦~

TOP

回复 44# CrLf

1L情况已更新~

还有你这代码能直接在bat里面执行吗? 支持win7 和win2003吗

TOP

回复 48# 依山居

并不是 - - 数据库里面每张表字段的数量都不一样的,

现在能控制的就是最后一列是字符串,也就是导出来的文件正常情况下每一行肯定是以"结尾

TOP

回复 47# CrLf

...!!!!!! 好厉害。。反正我自己机器上是有效,我试了几种情况都能处理!求讲解

明天再去win2003上看看

TOP

回复 51# 依山居

我能说我是昨天才知道有python吗 - -

TOP

回复 53# 依山居

python有一种情况没处理的了,看1L~

TOP

回复 44# CrLf
  1. 1>1/* :
  2. @echo off
  3. set foldername=F:\BAT\tt
  4. for /f "delims=\" %%a in ('dir /b /a-d /o-d "%foldername%\*.del"') do (  
  5. cscript -nologo -e:jscript "%~0" <%%a >b.del
  6. rm %%a
  7. move b.del %%a
  8. )
  9. */
  10. WSH.Echo(
  11.    WSH.StdIn.ReadAll().replace(
  12.       /"[^"]*"/g,
  13.       function($0){
  14.          return $0.replace(/\r?\n/g,'')
  15.       }
  16.    )
  17. )
复制代码
处理指定文件夹下的所有del文件~    报告  216M的文件没问题,1.7G的文件报错了~

TOP

回复 56# 依山居


    我本机是64位+8G的内存  要处理的文本文件,目前来看 没有超过2G的...

    python没有出现过因为文件太大报错的事,现在是BAT+JS出现

TOP

回复 57# 依山居

源文件
"1","12","123","","
2015-10-31",
"1","12","123","","",
输出的文件
"1","12","123","",015-10-31",
"1","12","123","","",

wrong~

TOP

返回列表