【发布时间】:2017-11-12 07:17:34
【问题描述】:
我正在使用以下代码读取csv文件,最后将数据转换为数组。
Function Sample(strPath) As String()
Dim MyData As String, strData() As String
Open strPath For Binary As #1
MyData = Space$(LOF(1))
Get #1, , MyData
Close #1
Sample = Split(MyData, vbCrLf)
End Function
以下代码将每个逗号分隔的行转换为数组。
SaleRows = Sample(filepath)
For Each SaleRow In SaleRows
SaleRowArray = Split(SaleRow, ",")
Next SaleRow
一切正常,但是当单元格包含逗号时,我上面的函数会失败。有没有办法处理特定单元格中的逗号?
CSV 示例
请注意第二行的逗号。
当我从逗号记录中获取数组时,我得到了下面。
【问题讨论】:
-
请说明您实际上想要做什么。 Access 有很多方法可以处理 CSV 文件,手动解析它们并处理引号和引号转义(您没有这样做,这就是您收到此错误的原因)似乎是一件奇怪的事情。
-
另外,如果您需要帮助解决您的错误,您应该告诉我们错误是什么。
-
我添加了屏幕截图以获取更多详细信息。感谢您宝贵的时间,如果您需要更多信息,请告诉我。
-
你的函数怎么失败了?它所做的只是将文本文件分成几行。它不会拆分单独的行....您真正要问的是什么?
-
正如其他人已经说过的,代码只返回行,不显示将行拆分为离散数据元素。如果您的数据元素用逗号分隔,那么我不得不说不,代码无法区分应该保留为文字文本的逗号和表示分隔符的逗号。
, Inc是文字逗号的唯一情况吗?如果是这样,请进行搜索/替换。但是,您在电子表格中显示的示例不显示逗号,您是如何将其正确输入电子表格的 - 手动输入?