script

用VBS实现文本数据的行列转换

最近手头上的一项工作需要将批量的文本数据实现行列转换,虽然利用excel可以实现,但还是嫌之太过麻烦(网上找了些实现类似功能的vba脚本都没能顺利运行起来),最后只得自己动手写了一个vbs脚本来实现此项功能。抛砖引玉一下。

手头的原始数据是如下格式的

A,1
B,2
C,3
D,4
E,5

转换后的格式为

A,B,C,D,E
1,2,3,4,5

代码如下(请新建一个1.txt文本并将原始数据复制保存到1.txt,将下面的代码另存为.vbs文件并将文件和1.txt置于同一目录下运行即可查看转换后的文本2.txt)

 

 

Set objFSO = CreateObject("Scripting.FileSystemObject")

'读入原始数据文件1.txt的内容

Set objFile = objFSO.OpenTextFile("1.txt")

 

'将数据按行分割成数组

a = Split(objFile.ReadAll,vbCrlf)

'获取原始数据文件的行数作为二维数组的行

X =  UBound(a)

'将每一行的数据按照“,”号分割,并获取分割后的数组下标作为二维数组的列

Y = UBound(Split(a(0),","))

'Wscript.Echo Y

 

同步内容