Вывод таблицы из файла csv в таблицу html

Тема в разделе "Arduino & Shields", создана пользователем Simon, 17 июл 2021.

  1. Igor68

    Igor68 Гуру

    похоже, что в локалке... на основе малины с вэб сервером, как тут говорили. Вот только не понятно на какой ляд надо .csv? Что в тексте привыкли данные хранить? Я бы вообще накапливал в двоичном формате - удобно дополнять данные добавлением структуры фиксированного размера. А для вывода формировал JSON. Ведь так то проще некуда.
    Код (C++):
    typedef struct {
    uint64_t   DateTime;
    float Temp;
    ....
    } AllData;
    Ведь каждая запись фиксированного размера, только дописывай в файл и всё. А то, точки, переносы и маркеры - кому это надо?
    А читать также фиксированными порциями - ведь размер данных записи один и тот же. Да и маленьким процессорам не надо заниматься всякими sprintf, потом хранить буфер строки и потом куда-то записывать. А потом жалобы, что памяти мало.
    Хотя может я и не прав, но дату и время проще хранить одним 8-ми байтным числом в стандартном формате.
     
  2. fogary

    fogary Гик

    Для сайта когда-то так делал (здесь - только общий принцип).
    PHP:
    $row_template = '<tr><td>%C1%</td><td>%C2%</td><td>%C3%</td><td>%C4%</td><td>%C5%</td></tr>'."\n";
    $rows = "";
    foreach($csv as $str_csv){
      $row_data = explode(";", $str_csv);
      $rows .= str_replace(array('%C1%', '%C2%', '%C3%', '%C4%', '%C5%'), $row_data, $row_template);
    }
    $csv — массив строк из CSV-файла
    $rows — строки тела таблицы
     
  3. Igor68

    Igor68 Гуру

    Не спорю. Можно и на стороне вэб-сервера... я делал как с помощью PHP, так и PHP+BASH(и даже PHP+код на Си). Особенно прикольно на PHP рисовать графики параметров. Только это накладывает увеличенную нагрузку на сам сервер, что несколько или даже
    значительно при подключении достаточного количества клиентов, а вэб-сервер это компьютер, которому
    приказали быть сервером и он ещё выполняет другую работу. Потому наверное выгоднее заставить
    работать ещё и браузер самого клиента, а данные передавать в JSON формате.
     
    Последнее редактирование: 1 авг 2021
  4. fogary

    fogary Гик

    С другой стороны, увеличиться объем интернет-трафика.
    Со стороны сервера, если задача позволяет, можно прикрутить кэширование страниц. То же может снизить нагрузку на сервер.
     
  5. Igor68

    Igor68 Гуру

    Вы я так понимаю по интернету таскаете сотни мегабайт в секунду? И JSON так велик? Тогда какого чётра данные на ардуине формируете в тексте? Тогда таскайте в готовой бинарной структуре! Она и компактнее и процессору не надо заниматься бестолковыми строками и их парсингом ни на той, ни на другой стороне.
     
  6. fogary

    fogary Гик

    Полегчало?
     
  7. Igor68

    Igor68 Гуру

    Конечно! Даже тапки в воздух поднялись:)