Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я понемножку продвигаюсь и уже научился находить "разделитель колонок табуляция (0x09)".
Но меня заинтересовал вопрос, как глядя на текст можно било найти и узнать эти кода LF (0x0A) и (0x09) которых я сейчас использую?
Какой файл-менеджер Вы используете? Во многих есть встроенный просмотрщик файлов, в котором можно переключиться в hex-режим, а кроме того поменять настройки перевода строк в тексте и отображения табуляций (в частности можно невидимые символы разделители особым образом подсвечивать - тогда структура файла сразу становится ясна).
Самое простое, открыть файл с помощью Excell и он будет выглядеть так
Затем сохранить его как .csv и потом его читать.
Спасибо, буду иметь в виду! С маленькими файлами такой вариант подходит, но если файл 7GB, то это не подойдёт.
Какой файл-менеджер Вы используете? Во многих есть встроенный просмотрщик файлов, в котором можно переключиться в hex-режим, а кроме того поменять настройки перевода строк в тексте и отображения табуляций (в частности можно невидимые символы разделители особым образом подсвечивать - тогда структура файла сразу становится ясна).
Я открывал в Notepad. Вчера скачал HxD hex-редактор но пока с ним не разобрался.
Я открывал в Notepad. Вчера скачал HxD hex-редактор но пока с ним не разобрался.
Правая колонка - текстовый файл в том виде, в котором мы его видим. Поле с числами посередине - шестнадцатеричные коды, которыми представлены символы из текстового файла. Так, вторая строка этого поля начинается числами 41, 73, 6B и 0A. В десятичной системе счисления это 65, 115, 107 и 10 соответственно. Первые 3 числа - это коды символов "A", "s" и "k". Четвертый символ - это признак конца строки, который можно использовать как разделитель. Второй символ-разделитель, если таким же образом просмотреть файл далее, это символ, представленный кодом 09.
Спасибо!
Вот ещё такой вопрос появился, я сейчас читаю файлы с ssd диска но хотел бы сравнить время чтение файла ели он будет на hdd диске. Как-бы лучше это сделать? Просто ssd быстро заполнится большими файлами.
P.S. Оказывается что не можно будет читать файлы с hdd."Из соображений безопасности в языке MQL4 строго контролируется работа с файлами. Файлы, с которыми проводятся файловые операции средствами языка MQL4, не могут находиться за пределами файловой "песочницы"."
Здравствуйте!
Я пытаюсь прочитать текстовой файл в массив, хочу каждую цену и дату записать в свои массив, но не понимаю как здесь быть с разделителями. Текст в файле можно посмотреть в прикрепленном файле.
О разделителях Вам подробно ответили. Меня удивил размер файла.
До 7 гигабайт... и в свой массив. Надо ли такой массив держать в памяти? Вообще, если такие объемы данных, то обрабатывать их лучше всего своими программами. Не офисными средствами и даже не распространенными файл-менеджерами.
Например, построчно читать, преобразовывать в элемент массива и переписывать в другой файл, бинарный, с размером записи = длине элемента в памяти. Он уже будет меньше за счет более компактного представления даты, времени, курса, отсутствия разделителей. Кроме того, его можно читать не с начала, а поднимать в память только идущие подряд нужные элементы сразу, вычисляя смещение в файле по номеру элемента.
Как я понял, это тики одного инструмента. Мне представляется лучшим вариантом разбить все данные на куски по одному часу или по суткам. Когда будете преобразовывать длинный файл в такие куски, заодно выяснится, верно ли он упорядочен, есть ли пропуски. А также шпильки.
О разделителях Вам подробно ответили. Меня удивил размер файла.
До 7 гигабайт... и в свой массив. Надо ли такой массив держать в памяти? Вообще, если такие объемы данных, то обрабатывать их лучше всего своими программами. Не офисными средствами и даже не распространенными файл-менеджерами.
Например, построчно читать, преобразовывать в элемент массива и переписывать в другой файл, бинарный, с размером записи = длине элемента в памяти. Он уже будет меньше за счет более компактного представления даты, времени, курса, отсутствия разделителей. Кроме того, его можно читать не с начала, а поднимать в память только идущие подряд нужные элементы сразу, вычисляя смещение в файле по номеру элемента.
Как я понял, это тики одного инструмента. Мне представляется лучшим вариантом разбить все данные на куски по одному часу или по суткам. Когда будете преобразовывать длинный файл в такие куски, заодно выяснится, верно ли он упорядочен, есть ли пропуски. А также шпильки.
Еще большие массивы можно архивировать, где-то была статья на эту тему.
И хранитиь в памяти (и на диске) зип-архив.
О разделителях Вам подробно ответили. Меня удивил размер файла.
До 7 гигабайт... и в свой массив. Надо ли такой массив держать в памяти? Вообще, если такие объемы данных, то обрабатывать их лучше всего своими программами. Не офисными средствами и даже не распространенными файл-менеджерами.
Например, построчно читать, преобразовывать в элемент массива и переписывать в другой файл, бинарный, с размером записи = длине элемента в памяти. Он уже будет меньше за счет более компактного представления даты, времени, курса, отсутствия разделителей. Кроме того, его можно читать не с начала, а поднимать в память только идущие подряд нужные элементы сразу, вычисляя смещение в файле по номеру элемента.
Как я понял, это тики одного инструмента. Мне представляется лучшим вариантом разбить все данные на куски по одному часу или по суткам. Когда будете преобразовывать длинный файл в такие куски, заодно выяснится, верно ли он упорядочен, есть ли пропуски. А также шпильки.
Где-то пропал мой комментарий... Я заметил ошибку когда начал заполнять массивы, но я это проблему решил, например, каждую 1000 строку проверял на нужное время если находил то, дальше уже заполнял массив, например, на 2000. С таким объемом уже можно нормально работать.