Я собираю много выводов из сетевого анализа, перечисляя ребро на строку, что приводит к десяткам гигабайт, расширяя границы моих ресурсов (занижение). Поскольку я имею дело только с числовыми значениями, мне пришло в голову, что я могу быть умнее, чем использовать значения по умолчанию Py3k. То есть какая-то другая кодировка символов могла бы сэкономить мне немного места, если бы у меня были только цифры (и пробел и случайная десятичная точка). Как бы я ни был ограничен, я мог бы даже сэкономить на концах строк (не иметь дубликат CRLF в стандарте Windows). Какова лучшая практика в этом отношении?
Пример строки будет выглядеть так:
62233 242344 0,42442423
(Там, где на самом деле последнее число бессмысленно точно, я урежу его до трех ненулевых цифр.)
Поскольку мне нужно будет читать текстовый файл с помощью другого программного обеспечения (фактически, Stata), я не могу хранить данные в произвольном двоичном формате, хотя я не вижу причин, по которым Stata будет читать только текст UTF-8. Или вы просто говорите, что отказ от UTF-8 едва ли что-нибудь спасет меня?
Я думаю, что сжатие не будет работать для меня, так как я пишу текст построчно, и было бы здорово ограничить размер вывода даже во время этого. Я могу легко ошибиться, как работает сжатие, но я подумал, что это может сэкономить мне место после того, как файл сгенерирован, но моя проблема в том, что мой код уже вылетает, когда я табулирую текстовый файл (строка за строкой).
Спасибо за все идеи и уточняющие вопросы!