我有一个csv文件,当我使用split函数时,我的问题是数组的第16段在其中有一个名称(在大多数情况下),其名字由逗号分隔。这显然会引起我的问题,因为它使我的阵列不同步。关于我如何处理这个问题的任何建议?
第16段中的字符串被“”包围,如果这有帮助,则拆分功能仍会将其拆分。
答案 0 :(得分:2)
您可以按照TextFieldParser
指示使用here答案 1 :(得分:0)
我推荐Lumen CSV Library,它可以用逗号正确处理字段值。 它还具有非常好的性能和非常简单的用法。 请参阅上面的链接,它不会让您失望。
答案 2 :(得分:0)
我认为你错过了这一点。拆分仅适用于简单的csv解析。任何变得有点复杂的东西意味着很多额外的代码。像TextFieldParser这样的东西更适合你想要的东西。但是,如果你必须使用Split这里的一种方式:
Dim TempArray() As String
Dim Output As New List(Of String)
If SourceString.Contains("""") Then
TempArray = SourceString.Split(""""c)
Output.AddRange(TempArray(0).Split(","c))
Output.Add(TempArray(1))
'If the quoted part of the csv line is at the end of the line omit this statement.
Output.AddRange(TempArray(2).Split(","c))
Else
Output = New List(Of String)(SourceString.Split(","c))
End If
这假定数据是严格组织的,除了引号之外,如果不是,则必须添加验证码。
答案 3 :(得分:0)
拆分"," 带引号 ,而不仅仅是逗号。不要忘记处理该行的第一个和最后一个引号。