Работа с бОльшим файлом json



  • Привет, есть огромный файл json на диске, размер 182 Мб. Как его прочитать? Структура такая:

    [{...},
    {...},
    {...},
    и так до коца файла
    {...}]
    
    


  • Есть вариант читать кусками до переноса строки, а потом формировать из них mini json-ы :)

    Но тогда как указать в BAS чтение до переноса строки?



  • @profitget said in Работа с бОльшим файлом json:

    182 Мб

    Память. .. Не читать его как json и разрезать например по },{ , а потом докидывать в строки где }, а где {. Но это все равно очень .. неоднозначно)



  • @tts9 said in Работа с бОльшим файлом json:

    @profitget said in Работа с бОльшим файлом json:

    182 Мб

    Память. .. Не читать его как json и разрезать например по },{ , а потом докидывать в строки где }, а где {. Но это все равно очень .. неоднозначно)

    На вид в блокноте выглядит как список. Может подключить его как ресурс и читать построчно? Или так всё равно будет весь файл сначала читать?



  • @profitget Хз, Если есть разделители попробуйте. Но он так или иначе "немного" подвиснет при старте))



  • @tts9 , работает... только в конце строки нужно запятые убирать перед парсингом...

    {...},
    


  • @profitget said in Работа с бОльшим файлом json:

    Привет, есть огромный файл json на диске, размер 182 Мб. Как его прочитать? Структура такая:

    [{...},
    {...},
    {...},
    и так до коца файла
    {...}]
    
    

    Самый продуктивный способ это всё таки разделить этот файл на много файлов по меньше, например через командную строку, и читать уже их по очереди в цикле.



  • @profitget То есть в ресурсах он их поделил как надо. Буду знать. Ну здорово.
    @Fox Да это разумеется, но тут ведь именно средствами самого баса. Скормить такую ох.. большую бяку и он ее проглотил, не подавился. Что немного радует и вообще обнадеживает =)



  • @tts9 said in Работа с бОльшим файлом json:

    @profitget То есть в ресурсах он их поделил как надо. Буду знать. Ну здорово.
    @Fox Да это разумеется, но тут ведь именно средствами самого баса. Скормить такую ох.. большую бяку и он ее проглотил, не подавился. Что немного радует и вообще обнадеживает =)

    Да, но тут надо уточнить, что BAS в этом файле ни чего удалять\изменять не будет. Даже если установить опцию "удалять после использования".



  • @tts9 said in Работа с бОльшим файлом json:

    То есть в ресурсах он их поделил как надо. Буду знать. Ну здорово.

    Нет, это просто сам файл такой формируется с разделителями строки, не всегда так бывает. Просто повезло или разработчики это предусмотрели...

    @fox said in Работа с бОльшим файлом json:

    Да, но тут надо уточнить, что BAS в этом файле ни чего удалять\изменять не будет. Даже если установить опцию "удалять после использования".

    Этот удаляет, я поменял расширение в txt перед поключением... хотя может и с .json тоже сработает... надо попробовать :)



  • Потоки не оставляют процессорное время для логов, пришлось на каждые 10 строк оставлять 1 секунду для вывода логов... Их можно совсем отключить (логи в консоли) для ускорения работы?


Log in to reply