У меня есть несколько больших CSV-файлов (1,5 ГБ каждый), где мне нужно заменить конкретные значения.Метод, который я сейчас использую, ужасно медленный, и я совершенно уверен, что должен быть способ ускорить это, но я просто недостаточно опытен, чтобы знать, что мне делать.Это мой первый пост, и я попытался найти что-то актуальное, но ничего не нашел.Буду признателен за любую помощь.
Моя другая мысль будет разбить файл на куски, чтобы я мог прочитать все это в памяти, сделать все замены там, а затем вывести в консолидированный файл.Я попробовал это, но способ, которым я это сделал, на самом деле оказался медленнее, чем мой текущий метод.
Спасибо!
Sub Main()
Dim fName As String = "2009.csv"
Dim wrtFile As String = "2009.1.csv"
Dim lRead
Dim lwrite As String
Dim strRead As New System.IO.StreamReader(fName)
Dim strWrite As New System.IO.StreamWriter(wrtFile)
Dim bulkWrite As String
bulkWrite = ""
Do While strRead.Peek <> -1
lRead = Split(strRead.ReadLine(), ",")
If lRead(9) = "5MM+" Then lRead(9) = "5000000"
If lRead(9) = "1MM+" Then lRead(9) = "1000000"
lwrite = ""
For i = LBound(lRead) To UBound(lRead)
lwrite = lwrite & lRead(i) & ","
Next
strWrite.WriteLine(lwrite)
Loop
strRead.Close()
strWrite.Close()
End Sub