如何从 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 格式的有效分隔符通常是逗号。
有几个选项供您选择:
在 CSV 文件中使用逗号 (,) 而不是分号 (;) 来分隔字段。
参考 https://www.connectionstrings.com/textfile/ ,在 "Microsoft Jet OLE DB 4.0" "Delimited Columns" 部分下,您的注册表中有一个特定的条目,您可以更改它以指定分隔符。
在上面同一页的“文本文件的 .NET txtReader”部分下,您可以使用 .NET txtReader 作为 ADODB 连接引擎并指定列类型和分隔符。
祝你好运:)
我正在使用名为 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 格式的有效分隔符通常是逗号。
有几个选项供您选择:
在 CSV 文件中使用逗号 (,) 而不是分号 (;) 来分隔字段。
参考 https://www.connectionstrings.com/textfile/ ,在 "Microsoft Jet OLE DB 4.0" "Delimited Columns" 部分下,您的注册表中有一个特定的条目,您可以更改它以指定分隔符。
在上面同一页的“文本文件的 .NET txtReader”部分下,您可以使用 .NET txtReader 作为 ADODB 连接引擎并指定列类型和分隔符。
祝你好运:)