VBScript没有可与Perl相媲美的模块系统.但是,您可以使用ADO打开CSV文件,并像数据库表一样访问它们.代码将是这样的:
(有趣的评论仅仅是为了修复SO破解的VB语法突出显示)
Dim conn ''// As ADODB.Connection
Dim rs ''// As ADODB.RecordSet
Dim connStr ''// As String
Dim dataDir ''// As String
dataDir = "C:\" '"
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dataDir & ";Extended Properties=""text"""
Set conn = CreateObject("ADODB.Connection")
conn.Open(connStr)
Set rs = conn.Execute("SELECT * FROM [data.txt]")
''// do something with the recordset
WScript.Echo rs.Fields.Count & " columns found."
WScript.Echo "---"
WScript.Echo rs.Fields("Col1Name").Value
If Not rs.EOF Then
rs.MoveNext
WScript.Echo rs.Fields("Col3Name").Value
End If
''// explicitly closing stuff is somewhat optional
''// in this script, but consider it a good habit
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
Run Code Online (Sandbox Code Playgroud)
创建一个schema.ini准确描述输入的文件是最佳选择.如果你不这样做,你强制文本驱动程序猜测,如果它猜错了,所有的赌注都会关闭.在schema.ini必须驻留在你的数据是同一个目录.
我看起来像这样:
[data.txt]
Format=Delimited(;)
DecimalSymbol=.
ColNameHeader=True
MaxScanRows=0
Col1=Col1Name Long
Col2=Col2Name Long
Col3=Col3Name Text
Col4=Col4Name Text
Run Code Online (Sandbox Code Playgroud)
并与此data.txt:
a;b;c;d
1;2;"foo bar";"yadayada"
1;2;"sample data";"blah"
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
C:\>cscript -nologo data.vbs
4 columns found.
---
1
sample data
C:\>
Run Code Online (Sandbox Code Playgroud)
值得一读这方面:关于 MSDN 关于文本文件的大量ADO.
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |