Страницы: 1
RSS
Разбиение .txt файла на несколько других
 
Есть много файлов txt со списками одним столбцом длиной в несколько тысяч строк. Нужно этот столбец разбить на несколько кусочков длиной по 950 значений и сохранить в ту же папку где был исходный документ. Diving_clean_900_all - это "до", остальные "после".
 
Diving_clean_900_part_01 - 490 значений
Diving_clean_900_part_02 - 570 значений
Diving_clean_900_part_03 - 279 значений
и так далее.
Это верно, что эти "после" - по 950 значений каждый?
There is no knowledge that is not power
 
Ох, нет, наверное базы были изменены при дальнейшей работе, сорри, не заметил. Нужно по 950 значений в каждом файле, на последнем - сколько останется.
 
Файл "Diving_clean_900_all.txt" должен лежать вместе с файлом, в котором будет макрос.
Код
Sub SplitTextFile()

    Dim fso As Object, txt As Object, txt2 As Object
    Dim i%, c%, sLine$

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.OpenTextFile(ThisWorkbook.Path & "\Diving_clean_900_all.txt")
    
    While Not txt.AtEndOfStream
        sLine = txt.ReadLine
        If Len(sLine) > 0 Then
            If c Mod 950 = 0 Then
                i = i + 1
                If Not txt2 Is Nothing Then txt2.Close 'Close old text file
                Set txt2 = fso.CreateTextFile(ThisWorkbook.Path & "\Diving_clean_" & i & ".txt")
            End If
            txt2.WriteLine sLine
        End If
        c = c + 1
    Wend
    txt.Close
    txt2.Close
    
    MsgBox "Well done!"

End Sub
 
There is no knowledge that is not power
 
Вот корректный пример. Photographers_users_11.txt - "до", остальное "после"
 
Цитата
Johny пишет: Файл "Diving_clean_900_all.txt" должен лежать вместе с файлом, в котором будет макрос.
Работает, супер, спасибо.
Страницы: 1
Наверх