如何从 Recordset ADO 中的 csv 中获取特定列

How to get specific column from csv in Recordset ADO

我正在使用名为 Data1.csv 的 csv,其数据如下。

Name;Age
Datta;20
Suraj;30
Raman;20
Sujit;35

我只想要 Name 列中的记录,即

Datta
Suraj
Raman
Sujit

我使用下面的代码只从名称字段中获取记录

Set cN = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
cN.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=E:\VBScript Exersize;" & _
               "Extended Properties=""text; HDR=Yes; FMT=Delimited; IMEX=1;""")

RS.Open "select [Name] from Data1.csv", cN   'Got error here
For Each itm In RS.getrows
    MsgBox itm
Next

错误:没有为一个或多个必需参数提供值

问题是当我处理 csv 时,列字段只考虑 1,即(姓名;年龄)我只想要 'Name '。

有人可以帮忙吗...

提前致谢

CSV 代表 "Comma-Separated Values",因此 CSV 格式的有效分隔符通常是逗号。

有几个选项供您选择:

  1. 在 CSV 文件中使用逗号 (,) 而不是分号 (;) 来分隔字段。

  2. 参考 https://www.connectionstrings.com/textfile/ ,在 "Microsoft Jet OLE DB 4.0" "Delimited Columns" 部分下,您的注册表中有一个特定的条目,您可以更改它以指定分隔符。

  3. 在上面同一页的“文本文件的 .NET txtReader”部分下,您可以使用 .NET txtReader 作为 ADODB 连接引擎并指定列类型和分隔符。

祝你好运:)