Из QLua (Lua) в Excel (CSV)

Автор записи: Дмитрий (Admin)
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 6, среднее: 5,00 из 5)
Загрузка...

csvФайл CSV-формата это обычный текстовый файл, с которым Excel и аналогичные программы могут работать как с таблицей. Каждая строка таблицы в этом файле записывается как новая строка со знаком переноса в конце, а значения полей разделены между собой каким-то символом, чаще ";". В самой первой строке такого файла можно (не обязательно) указать названия столбцов, так же через ";".

Ниже приведен пример создания такого файла и записи в него данных о совершенных сделках средствами QLua(Lua):

Код скрипта QLua

Скрипт создает файл следующего вида:
Таблица
Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!

Добавить комментарий

Из QLua (Lua) в Excel (CSV): 109 комментариев

  1. ДОбрый день! Я взяла ваш скрипт и исопльзую его в своем роботе, но есть сложность: у меня все роботы пишут каждую сделку, не свою, а каждую, при этом как автора сделки ставят именно себя. Как это можно обойти?
    Код могу выслать

    1. Здравствуйте, поставьте фильтр по № сделки.
      А лучше, при выставлении заявки, делать ее описание (поле brokerref), тогда достаточно 1-го робота (переделать пример выше), который будет писать сделки в разные файлы с именем файла содержащим текст из поля brokerref.

      1. Я правильно понимаю, что название можно указывать в поле комментарии ? Для акций у меня такой фокус не сработал, а для фьючей жду первую сделку. Это, конечно, решило бы вопрос.

        1. Здравствуйте. Поле комментарий составное 20 символов, включая разделитель. Для акций: код_клиента//комментарий. Для срочного рынка просто комментарий.

  2. Приветствую Вас уважаемые создатели ресурса. Прежде всего хочу поблагодарить Вас за ваше невероятное терпение и "веру в человечество" (стремление и желание обучать чайников типа меня).
    Я попробовал использовать приведённый выше пример скрипта "ИЗ QLUA (LUA) В EXCEL (CSV)" на срочном рынке. Фьючерс сбер.
    Идёт запись только первой половины сделки (покупка для лонга и продажа для шорта) да и та не вся. Лонг 1 лот. Шорт - 5 лотов был разбит на 2-2-1 (за одину продажу, но лоты разных покупателей). Записано было только 2 лота.
    Вопрос: возможно ли, что эта ошибка связана со старой версией квика 7.29.0.40? Только не ржите надо мной )))

    1. Немного покопавшись, я обнаружил
      - при экспорте из таблицы сделок через ДДЕ-сервер, номера сделок в эксель сбрасываются с округлением до 10 000 (естественно, что они воспринимаются как один номер), т.е рубится 5 знаков справа.
      - экспортный файл сохраняемый на диск скриптом вообще выдает формат типа "1.9534635126301e+018" они различаются по номеру заявки. Номер Сделок же всех - "на одно лицо".
      Стало очевидно, что проблема возникает из-за невозможности правильно считать 19 значный номер старым софтом.
      Приношу извинения за флуд, т.к. не хотелось отвлекать достопочтенную публику по пустякам.

  3. Привет. Вопрос. Есть csv файл с 3 строками.
    1я - "Первая"
    2я - "Вторая"
    3я - "Третья"
    Возможно ли перезаписать какую либо строку. Например вторую - "Получилось Ура". Получить результат:
    1я - "Первая"
    2я - "Получилось Ура"
    3я - "Третья"

    1. Привет! Формат .csv от обычного .txt практически ничем отличается, можно чуть больший данных объем записать и аля-excel сразу его преобразуют в таблицу.
      Поэтому работать с этим файлом нужно как с обычным текстовым.
      Считываем строки в массив, меняем нужную строку, переписываем весь файл, если такие изменения частые, то работаем с массивом, а переписываем файл по завершении скрипта и/или в OnClose() терминала.

          1. Есть ли объяснение не зеркального синтаксиса при обратной замене знака? Почему в первом случае перед точкой стоит %, а запятая в кавычках, а при обратной замене запятая в кавычках без %, а точка в двойных квадратных скобках?
            И еще, допустимо ли менять строку А, перезаписывая результат в саму себя:
            A = string.gsub(A, “%.”, “,”)?

      1. Спасибо за ценную информацию!
        Скажите, что на Ваш взгляд считается «часто» при перезаписи в файл? Например перезапись раз в 10 секунд, это часто? И если часто, то записывая изменения в массив, какая частота записи данных из массива в файл будет оптимальной? Раз в минуту, раз в час?….