Читать Файл В Список - большой файл >35 тыс строк



  • Здравствуйте. Подскажите, пож-та, как правильно сделать?
    Мне нужно из файла взять 20 строк рандомно.

    Выполняю Читать Файл В Список - и система зависает.



  • @kuzkuz
    Работай с базой.



  • @denanotherday Да, понятно, но пока усложнять не хочется.



  • @kuzkuz said in Читать Файл В Список - большой файл >35 тыс строк:

    @denanotherday Да, понятно, но пока усложнять не хочется.

    Действие "читать файл в список" сперва читает весь файл, а затем разбивает его в массив (список) по разделителю, переносу строки и возврату каретки. При любых очень больших или бесконечных циклах без задержки перестаёт отвечать интерфейс. Вы можете подождать пока отвиснет, либо используйте базу. База специально придумана для работы с большим количеством данных.



  • Спасибо за ваше терпение.



  • @Fox файл 800Кб, 30тыс строк (по 20-30 знаков), это большой файл чтобы его использовать в ресурс? (повис софт). Надо пробовать через базу? Спасибо



  • @kuzkuz Не обязательно, софт не повис, софт читает ваше счастье в память оперативную и занимает им там место. Можно и без базы, но это потребует некоторых знаний. И устойчивого понимания чего это вы делаете.
    Бас может читать побайтово 2020-02-05_003354.png
    UPD если вы используете .csv таблицы, то можно их резать есть куча утилит которые позволят порезать его правильно и потом читать не целиком, а частями. Тогда нагрузка будет меньше например вот это оно разрежет ваш файл построчно на нужное кол-во строк в каждом файле и оно бесплатное.
    Побайтово это почти как сплит из ссылки только вот строки резать будет как пойдет потому я указал про понимание чего делать. ОтлаЖивать надо будет. Получаем размер файла прикидываем как резать будем создаем список и вперед.
    Но проще split она все сделает сама.



  • @kuzkuz said in Читать Файл В Список - большой файл >35 тыс строк:

    @Fox файл 800Кб, 30тыс строк (по 20-30 знаков), это большой файл чтобы его использовать в ресурс? (повис софт). Надо пробовать через базу? Спасибо

    Многое зависит и от быстродействия вашего пк. Добавление в базу будет точно так же ведь, через цикл, зато уже потом, работа с базой будет в разы проще и быстрее, чем с файлом.


Log in to reply