powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Заменить запись в файл с txt на xlsx
25 сообщений из 150, страница 4 из 6
Заменить запись в файл с txt на xlsx
    #40047890
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

Кстати сказать, а наличие JSON Schema тебя не смущает? Странные у тебя рассуждения.

PS: Json популярен не потому что XML плох, а потому что JavaScript — единственный язык
программирования фронт-энда.

Я пробовал Json-schema. К сожалению мне не удалось сделать проверки достаточно строгими.
Тоесть у меня получилось проверять только те сущности которые были декларированы. А новые
почему-то успешно проходил валидацию хотя и не должны-быть по идее.

XML схема тоже не сказать что бы больно навороченный язык. Но неизвестные элементы и
атрибуты он не пропускает.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40047896
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас не хватает времени. Но я до пятницы проверю. И если это правда - то создам топик на тему
Xml-Schema vs Json-Schema. Who is stricter?
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40047993
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Dima T

Не надо его грузить целиком, читай последовательно. С большими json дела не имел, а с xml было дело, файлик 0.5 Гб быстро читается с помощью XmlReader Наверно и для json есть подобное.

json это всё таки в первую очередь объект а уж во вторую - таблица. Поэтому если работать с ним
на стандартных ЯП программирования веба (JavaScript/C#/Java/Node) то я готов спорить на виски
что для отработки реквеста ... ну не знаю с JPointer нам придется прогрузить весь документ-объект
в память. Вариант курсора (аля БД) скорее всего не сработает. Хотя и респонс может выглядеть
как итератор например. Словом - это тема отдельного топика. Накладные расходы на JPointer
при запросах к толстым документам.

Отсутствует json SAX парсер для быстрого чтения огромных документов? Ну вот видите, уже нашли
третий недостаток json по сравнению с XML.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40047995
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
пропущено...

json это всё таки в первую очередь объект а уж во вторую - таблица. Поэтому если работать с ним
на стандартных ЯП программирования веба (JavaScript/C#/Java/Node) то я готов спорить на виски
что для отработки реквеста ... ну не знаю с JPointer нам придется прогрузить весь документ-объект
в память. Вариант курсора (аля БД) скорее всего не сработает. Хотя и респонс может выглядеть
как итератор например. Словом - это тема отдельного топика. Накладные расходы на JPointer
при запросах к толстым документам.

Отсутствует json SAX парсер для быстрого чтения огромных документов? Ну вот видите, уже нашли
третий недостаток json по сравнению с XML.

Почему? JSon readers существуют. И я думаю что их много. Просто CSV регламентирует
некую однородность записей а JSon - в общем случае - нет.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048002
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

Отсутствует json SAX парсер для быстрого чтения огромных документов? Ну вот видите, уже нашли
третий недостаток json по сравнению с XML.

Почему? JSon readers существуют. И я думаю что их много. Просто CSV регламентирует
некую однородность записей а JSon - в общем случае - нет.

Ты чуть выше сказал, что придётся грузить сразу объект в 16 Гб. Из этого я сделал такое предположение.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048009
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
пропущено...

Почему? JSon readers существуют. И я думаю что их много. Просто CSV регламентирует
некую однородность записей а JSon - в общем случае - нет.

Ты чуть выше сказал, что придётся грузить сразу объект в 16 Гб. Из этого я сделал такое предположение.

Да. Все верно. Я-же написал - если "делать запросы" к содержимому. Типа SELECT узлы WHERE какое-то свойство
e.t.c.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048069
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
>
PS: Json популярен не потому что XML плох, а потому что JavaScript — единственный язык
программирования фронт-энда.
==
Стразу 3 ошибки
- xml не плох, он многословен
- на фронте нет json, это формат передачи данных
- сегодня уже он шарпе, java и REST API а не JS.
Не нужно их противопоставить вообще.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048088
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JSon в общем случае не является заменой XML, т.к. в последнем заложено больше семантики, больше смыслов.

Любые попытки заменить XML на Json сегодня сродни попыткам например заменить реляционные DBMS на NoSQL
системы. В частных случаях это срабатывает но в общем - мы теряем. Теряем возможности и смыслы которые были
заложены создателями изначально.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048094
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы упорядочьте сначала, зачем создавался формат, как позиционировался и как используется.

начнем (далее все может быть не верно)
xml создавался как формат обмена данными вне зависимости от бд и структуры.
json - для хранения небольших данных
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048110
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ну и зачем ты это написал?

Это пример того, что когда доходит до дела вместо цсв парсера имеем какие-то костыли на коленке, а не полноценный парсер. Если уж костылить, костылили бы лучше тсв.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048112
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Почему он станет недоступен?

У автора этого движка спроси, почему он не поставил пром.парсер. И у авторов екселя заодно, почему там не делали импорт как в либре.
6 тысяч CSV-парсеров
Сколько из них вменяемые, а сколько - лабы и стрёмные велики без колёс?
mayton
А хотя-бы и не было. Неужели сам бы не написал?

Чтобы сделать парсер, надо реализовать посимвольное вычитывание данных, что заметно геморнее, чем делать split, которого нету только у сишников и отсталых.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048113
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в данной теме смешались стандартизация и человекочитаемость? Это две разные мои
мысли, которые зачем-то кто-то спутал.

Ради бога. Деайте тсв. Развеж я вас остановлю?
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048115
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster

Чтобы сделать парсер, надо реализовать посимвольное вычитывание данных, что заметно геморнее, чем делать split, которого нету только у сишников и отсталых.

Это ... даже несеръезно. При чем здесь split? И при чем здесь какие-то "осталые" сишники?
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048117
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
(подозрительная ссылка!) https://github.com/search?q=csv parser

Смотрим.
https://github.com/ben-strasser/fast-cpp-csv-parser/blob/master/csv.h
Оопота на 1к строк. Ну да, мог бы и сам на коленке сделать.

https://github.com/mholt/PapaParse/blob/master/papaparse.js
Тормозная херня на 2к строк, где делают csv += _delimiter;

Ну да, чо бы не написать парсер на коленке. Вместо
Код: sql
1.
str.split("\n").map(row=>row.split("\t"))


И развернуть escape, для случая, когда файл влазит в память.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048119
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
И при чем здесь какие-то "осталые" сишники?

Я не говорил, что сишники отсталые.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048123
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
(задумчиво)

Если рассматривать json как способ экспорта или импорта данных - то скорее нет, чем да.

Если речь идёт про таблицы, то не "скорее", а решительно нет, не о чём тут думать.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048125
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ради бога. Деайте тсв. Развеж я вас остановлю?

Ну вдруг у тебя есть весомые аргументы против и я что-то упускаю из вида.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40048126
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(руки вверх)

Всё ты победил! Делай на сплитах! Мне просто эта тема не интересна.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40050558
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
JSon в общем случае не является заменой XML, т.к. в последнем заложено больше семантики, больше смыслов.

Если тезисно: каких смыслов больше в XML по сравнению с JSON?
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40050580
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
JSon в общем случае не является заменой XML, т.к. в последнем заложено больше семантики, больше смыслов.

Если тезисно: каких смыслов больше в XML по сравнению с JSON?

Архитектурно, на этапе создания стандарта в XML были заложены namespaces.
Это позволяло в 1 документ включать разные расширения таким образом что твой парсер
может обрабатывать только свои (известные теги) а неизвестные просто пропускать.
В Json такое сделать невозможно. Или как-то можно но наверное с потерей смыслов.
Namespaces имеют полезное применение в Java frameworks в части конфигураций.

Трансформация документов. Ты можешь создать XML-содержимое которое обработается
браузером и к нему применится XSLT скрипт который адаптирует контент к HTML со стилями
например. Эта фича редко применялась. В основном на back-end, хотя IE 100% ее поддерживал
в 2000 годах точно. Сам скрипт должен быть доступен по http:// или file:// чтобы двигатель
трансформации его увидел. По аналогии с #include в C++.
Тоесть - никакого JavaScript а просто трансформация языком очень высокого уровня. На
эту тему у нас даже есть подфорум https://www.sql.ru/forum/xml . Я немнжко не в теме
т.к. последний раз работал с этим очень давно и многое поменялось. Но вот что я помню - то рассказал.

Обработка инструкций. Сейчас насколько я помню эта фича отключается из-за безопасности. Но вкратце,
в хедер XML можно включать команды операционки например. И они по идее должны исполнятся в момент
открытия файла. Как это полезно исопльзовать - ХЗ но стандарт есть.

Синтаксические удобства для публикации комментариев и блоков не-структурированного содержания (CDATA).

XML также взят на вооружение в науке. В частности под него разрабатывались различные схемы описания
доменов в химии и астрономии (щас пруфы не могу найти к сожалению но где-то в стандартах XMLSchemas).

Это всё - смыслы.

Тоесть если подытожить - то XML является наиболее строгим описательным способом для данных и знаний.
Для JSon повторить подобное наверное тоже возможно - но придется придумывать НАД-стандарты сверху
над простым и примитивным JSon. В рамках одной рабочей группы или проекта это возможно, но если
топить за интеграцию между проектами и между кастомерами - то лучше наверное XML. Так проще. И меньше
будет технических споров и недо-пониманий на этапе простого согласования формата RPC например.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40050635
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonтвой парсер может обрабатывать только свои (известные теги) а неизвестные просто пропускать.
В Json такое сделать невозможно.

Что мешает пропускать неизвестные значения в JSON?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40050641
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

maytonтвой парсер может обрабатывать только свои (известные теги) а неизвестные просто пропускать.
В Json такое сделать невозможно.

Что мешает пропускать неизвестные значения в JSON?

Давай подумаем, как это будет с точки зрения парсера. Может быть я и не прав. Пускай брейнштормит шторм.
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40050644
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

maytonтвой парсер может обрабатывать только свои (известные теги) а неизвестные просто пропускать.
В Json такое сделать невозможно.

Что мешает пропускать неизвестные значения в JSON?

Эээ... это в XML как в С++. Две функции readFile() находятся в разных неймспейсах. И ты видишь только свой
неймспейс. Если разные неймсейсы в XML совпадают по названию, то это тоже решается. В заголовке XML
описываются названия NS и их URL, которые и являются их (NS) глобальными идентификаторами. Как тут:

Код: plaintext
1.
namespace myStd = std;
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40050650
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonкак это будет с точки зрения парсера.

Прочитал название значения, не смог распознать название - пропустил всё до конца значения.

Точно так же в XML: прочитал открывающий тэг, не смог его опознать - пропустил всё до
закрывающего тэга.

Где проблема?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Заменить запись в файл с txt на xlsx
    #40050656
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

maytonкак это будет с точки зрения парсера.

Прочитал название значения, не смог распознать название - пропустил всё до конца значения.

Точно так же в XML: прочитал открывающий тэг, не смог его опознать - пропустил всё до
закрывающего тэга.

Где проблема?

Нет декларативности. В случае с явным указанием namespace - читающий (допустим это человек) может
в документе глазами увидеть доменную модель которая доступна для интерпретации.

В случае хардкодом этой логики в тело XML/Json парсера - эта информация для читающего неизветна. И ему надо
будет консультироваться с L3 например чтобы понять почему тег <credit:amount> или "credit_amount" не виден в системе.
...
Рейтинг: 0 / 0
25 сообщений из 150, страница 4 из 6
Форумы / C++ [игнор отключен] [закрыт для гостей] / Заменить запись в файл с txt на xlsx
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]