gpt4 book ai didi

vba - 想要 Excel 中的 VBA 读取非常大的 CSV 并创建 CSV 小子集的输出文件

转载 作者:行者123 更新时间:2023-12-01 18:26:16 25 4
gpt4 key购买 nike

我有一个包含 120 万条文本记录的 csv 文件。字母数字字段用引号引起来,而日期/时间或数字字段则不然。

例如"Fred","Smith",01/07/1967,2,"7, The High Street","Anytown","Anycounty","LS1 7AA"

我想要做的是在Excel中编写一些VBA(或多或少是我唯一可以使用的工具,我相当熟练地使用它),它按记录读取CSV记录,执行检查(就像它发生在最后一个字段,邮政编码),然后将 1.2m 记录的一小部分输出到新的输出文件。

我了解如何打开这两个文件,读取记录,对数据执行我需要执行的操作并将其写出(我将仅输出带有表示异常类型的前缀的输入记录)

我不知道如何正确解析 VBA 中的 CSV。我无法进行简单的文本扫描并搜索逗号,因为文本有时包含逗号(因此文本字段是文本分隔的)

是否有一个很棒的命令可以让我快速获取记录中第 n 个字段的数据?

我想要的是 s_work = field(s_input_record,5) 其中 5 是我的 CSV 中的字段编号...

非常感谢,C

最佳答案

VBScript 怎么样,虽然这也适用于 Excel:

Set cn = CreateObject("ADODB.Connection")

'Note HDR=Yes, that is, first row contains field names '
'and FMT delimted, ie CSV '

strCon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Docs\;" _
& "Extended Properties=""text;HDR=Yes;FMT=Delimited"";"

cn.open strcon

'You would not need delimiters ('') if last field is numeric: '
strSQL="SELECT FieldName1, FieldName2 INTO New.csv FROM Old.csv " _
& " WHERE LastFieldName='SomeTextValue'"

'Creates new csv file
cn.Execute strSQL

关于vba - 想要 Excel 中的 VBA 读取非常大的 CSV 并创建 CSV 小子集的输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/427488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com