使用内联逗号分隔逗号分隔的csv文件

mic*_*knt 1 .net c# vb.net csv asp.net

我正在使用下面的代码拆分逗号分隔的CSV文件.它工作正常,但文件中的某些记录在数据中包含逗号,即使逗号保留为分隔符.例如,记录包含用户输入逗号的描述文本,以及记录结束时的脚本输入.我怎么能以某种方式克服它?

这是我的CSV文件中一行的示例.请注意行末尾的空记录可以是""括号中的字符:

"1","34353434","亚当","Traxx","343","这个人是老板,请妥善处理","",,"","",,",""," 0" ,,"

这就是我阅读和分割的方式:

Sub ReadOnlineExample()
Dim line_read As String
Dim tempfilename As String
Dim i As Integer
Dim rows_skipped As Integer
Dim line_split(0 To 125) As String
Dim MortalityRates(0 To 125) As Double

 tempfilename = "C:\MortalityRateTable.csv"
 Dim sr As New System.IO.StreamReader(tempfilename)

'Split the line into individual data
line_split = line_read.Split(",")

'Save the split data into an array
For i = 0 To UBound(line_split)
  MortalityRates(i) = line_split(i)
Next i

End Sub
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?也许这只是一个我看不到的简单解决方案:-)

Ode*_*ded 6

使用适当的CSV解析器 - 文件助手是一种流行的选择.

还有一个来自Microsoft的解析器 - 在Microsoft.VisualBasic.FileIO命名空间中,TextFieldParser.

这些涉及CSV的细微方面,大多数手动解决方案在遇到问题之前都不会考虑.