[Vbs]_[过滤重复关键词]
来源:互联网 发布:java oracle证书有用吗 编辑:程序博客网 时间:2024/05/16 10:15
场景:
1.有些关键词以excel表格的形式存储,但是某列的关键词可能重复了,需要过滤掉它,如何做更快呢?用excel的vbs编程是一种方案。这里用我的是独立的vbs脚本。首先存为.csv格式,excel的另一种文本编辑模式,当然任意脚本语言都能做到,这里用vbs只是为了对vbs函数和语法有进一步认识。。
过滤关键词.vbs (ANSI编码)
' Author: sai' The include sub is used to import some files like java.Sub include(file) Set objFS = CreateObject("Scripting.FileSystemObject") Set logFile=objFS.OpenTextFile(file,1,false,TristateFalse) Dim all all=logFile.readAll logFile.close ExecuteGlobal allEnd Sub' BeginDim currentDirectory,fileNameSet WshShell = WScript.CreateObject("WScript.Shell")Set objFS = CreateObject("Scripting.FileSystemObject")currentDirectory = WshShell.CurrentDirectoryfileName=InputBox("请输入文件名:"&vbCr&vbCr&" ")Dim currentFilecurrentFile = currentDirectory & "/" & fileNameIf Not objFS.FileExists(currentFile) Then Wscript.echo "文件不存在: " & currentFile & " " & "已退出" WScript.Quit(1)End IfWscript.echo "过滤开始"Set csvFile=objFS.OpenTextFile(currentFile,1,false,TristateFalse)Dim today,newFileName, newFolderPath, newFilePathtoday = DatePart("yyyy",Date) & DatePart("m",Date) & DatePart("d",Date)newFileName = today & "_" & fileNamenewFolderPath = currentDirectory & "/" & todaynewFilePath = newFolderPath & "/" & newFileName'1.创建新文件夹,复制Excel文件If Not objFS.FolderExists(newFolderPath) Then objFS.CreateFolder(newFolderPath)End If'创建以ANSI编码的文件,这样Excel打开CSV时能正确识别逗号Set txtFile=objFS.CreateTextFile(newFilePath,True,False)'是否记录日志Set logFile=objFS.CreateTextFile(newFolderPath & "/" & "delete_" & newFileName,True,False)Dim line,tempFix,keywordSet map = CreateObject("Scripting.Dictionary")While csvFile.AtEndOfStream <> Trueline = csvFile.readline()tempFix = Split(line,",",-1,1)keyword = tempFix(0)If map.Exists(keyword) Then logFile.WriteLine(line)Else map.Add keyword,line txtFile.WriteLine(line)End IfWendcsvFile.Close()txtFile.Close()logFile.Close()Wscript.echo "过滤结束"
原文件.csv
第一列是关键词.
我们,大家大像,1我们,23刘,ad哦,asdf
过滤后的.csv
我们,大家大像,1刘,ad哦,asdf
- [Vbs]_[过滤重复关键词]
- 关键词过滤
- 关键词过滤
- 高效Java敏感词、关键词过滤工具包_过滤非法词句
- php关键词过滤
- php 敏感关键词过滤
- 过滤重复
- flex 关键词过滤 2.5.35
- C#实现文本关键词过滤
- php扩展trie_filter 过滤关键词
- [VBS]_[活动分组程序]
- 数组过滤重复字符
- 过滤重复记录
- 过滤重复字符串
- js过滤重复数组
- memo过滤重复内容
- ibatis 过滤重复数据
- 过滤重复数据
- Android & AIR tips
- iOS之Storyboard导航大揭秘(1)
- 一条进程的栈区、堆区、数据区和代码区在内存中的映射
- c++内存分配函数
- PHP使用smarty模板引擎
- [Vbs]_[过滤重复关键词]
- 工作的三个阶段
- hdu 1874 畅通工程续
- java中的接口和抽象类是什么?
- 正式进驻CSDN博客
- unix网络编程读书心得(2)
- java中如何将代码导入eclipse中
- 激光雷达学习笔记(四)定位
- Android 中Odex文件生成与合并, 移植apk【转载+修正】