Я использую раздвоение функцию, чтобы добавить данные в таблицу данных из CSV-файла моих строк, как этогосплита() удаляет оставшуюся часть строки после запятой
"50000007;Bxxxx Kxxx - Sxxx Fx. xxxx;423283; ;423292;1; ;700000004;T;"
и я использую этот код
x = dt.Rows.Count
For i As Integer = 0 To x - 1
Dim Data As String = dt.Rows(i).Item(0)
Dim words As String() = Data.Split(New Char() {";"c})
bilgi.Rows.Add(words)
Next
и его работы для тысяч строк, но если строка приходит с запятой, например
"50000007;Bxxxx**,** Kxxx - Sxxx Fx. xxxx;423283; ;423292;1; ;700000004;T;"
после того, как раскололся только мой массив строк ("50000007","Bxxxx"
), а остальное исчезло и продолжается до следующей строки.
Может ли кто-нибудь помочь мне решить эту проблему?
Как вы загрузив файл CSV в таблицу данных? То, как вы его используете, 'String.split' будет разделяться только точкой с запятой. Если «остальное ушло и продолжается до следующей строки», то «остальное» уже помещается в следующую строку, прежде чем вы даже войдете в цикл 'for'. – Groo
Это * не *, как работает «Сплит». Пожалуйста, напишите * полный и минимальный * пример - то есть * не * вовлекайте таблицу данных. Как бы то ни было, вы, вероятно, загружаете CSV, используя ',' в качестве разделителя полей, в результате чего первый столбец содержит первые две строки вместо всей строки. –
. Я использую этот код для чтения csv-файла 'Dim sConn =" Provider = Microsoft .Jet.OLEDB.4.0; Источник данных = "& yol & _ "; Расширенные свойства = 'текст; HDR = Да; FMT = Разграничено (;)'; " Dim dt As New DataTable() '"; Расширенные свойства =" "текст; HDR = Да; FMT = Разграничено (;)" ";" Использование адаптироваться как новый OleDbDataAdapter ("SELECT * FROM [" & dosya & "]", sConn) adapt.Fill (dt) End Использование' – Murat