Airia2: сохранить загруженные файлы в sqlite дополнительно к уникальному идентификатору

Я использую aria2 для загрузки нескольких файлов, и теперь моя проблема заключается в том, что я должен постобработать файлы в приложении VBA. До сих пор логика постобработки уже была написана на VBA, поэтому я ищу решение для чтения URL-адресов не только из списка (экспортированного VBA), а не из CSV-файла, чтобы хранить их, используя уникальный идентификатор. В противном случае я не смогу найти загруженные файлы в случае конфликта имен. Кроме того, содержимое должно храниться в базе данных sqlite для увеличения скорости обработки. Я говорю о тысячах файлов с общим размером в несколько ГБ, поэтому скорость моего приложения VBA страдает от дискового ввода-вывода.

Есть ли решение для моей проблемы?

В настоящее время я подхожу к этой проблеме, используя скрипт-оболочку golang, который читает файл csv и порождает несколько экземпляров aria2, используя параметр --out для управления именованием выходного файла.

Образец кода:

Экспорт CSV

path = ThisWorkbook.path & "\" & dataFile

If FileHandler.FileExists(path) Then
    FileHandler.DeleteFile (path)
End If
FileHandler.CreateFile (path)

fileHandle = FreeFile
Open path For Append As #fileHandle

For WksIndex = 3 To 37
    If SettingGet("Enable", WksIndex) Then ' check if worksheets should be processed
        For Row = 1 To Worksheets(WksIndex).Cells(9999, 1).End(xlUp).Row
            If Worksheets(WksIndex).Cells(Row, 1).value <> "" And Worksheets(WksIndex).Cells(Row, 3).value <> "" Then
                Call FileHandler.AppendToFile( _
                    path, _
                    Worksheets(WksIndex).Cells(Row, 1).value & ";" & _
                    Worksheets(WksIndex).Cells(Row, 3).value, _
                    fileHandle _
                ) ' append ID;URL to file
            End If
        Next Row
    End If
Next WksIndex

Close #fileHandle

0 ответов

Другие вопросы по тегам