代码一时爽,debug火葬场
写完发现访问数组的索引超出边界,但是找不到哪里有问题
'根据表头删除对应列
Public Function DeleteColumn(listmodifiedLines As List(Of String))
'要删除的表头
Dim strheadToRemove As String() =
{"""" + "ITEM" + """"
}
'读取csv文件的所有行数据
Dim strlines As String() = File.ReadAllLines(strcsvFilePath & "xmltocsv.csv")
'创建新的字符列表储存修改后的行数据
'Dim listmodifiedLines As New List(Of String)()
'获取表头行数据
Dim strheadersLine As String = strlines(0)
'拆分表头行数据为单独的表头
Dim strheaders As String() = strheadersLine.Split(","c)
'创建一个新的字符串列表来存储不包含要删除表头的数据
Dim listmodifiedheaders As New List(Of String)()
'遍历表头
For Each strheader As String In strheaders
'检查当前表头是否在要删除表头列表中
If Not strheadToRemove.Contains(strheader) Then
'如果不在要删除表头列表中,添加在表头列表中
listmodifiedheaders.Add(strheader)
End If
Next
'将修改中后的表头数据合并为一行
Dim strmodifiedheaderline As String = String.Join(",", listmodifiedheaders)
'将表头添加进新的字符串列表中
listmodifiedLines.Add(strmodifiedheaderline)
'遍历除表头外的所有行数据
For i As Integer = 1 To strlines.Length - 1
'获取当前行数据
Dim strline As String = strlines(i)
'拆分行数据为单独的列
Dim strcolumns As String() = strline.Split(","c)
'创建一个新的字符串列表来存储不包含要删除的数据
Dim listmodifiedcolumns As New List(Of String)
'遍历所有列
For j As Integer = 0 To strcolumns.Length - 1
'检查当前列的表头是否在要删除表头列表中
If Not strheadToRemove.Contains(strheaders(j)) Then
listmodifiedcolumns.Add(strcolumns(j))
End If
Next
'将修改的列合并成一行
Dim strmodifiedline As String = String.Join(",", listmodifiedcolumns)
listmodifiedLines.Add(strmodifiedline)
Next
Return listmodifiedLines
End Function