Страницы: 1
RSS
PQ загрузка JSON из файла
 
Привет
Есть фаил в котором с каждой новой строчки - отдельные JSON данные. Поясню - есть API которое отдает по 50 записей за раз. Мы сделали скрипт, который скачивает по 50 строчек за раз данные и записывает в данный фаил с новой строки.
Дальше нужно, чтобы PQ скушал данный фаил - но у меня не получается.
Видно из-за того, что это не один json а фактически с каждой новой строчки новый json результат - PQ его не понимает
Пробовал так.
Код
let
    Source = Json.Document(Web.Contents("pathTOfile/allProd.txt")),
    #"Converted to Table" = Record.ToTable(Source)
in
    #"Converted to Table"
Благодарю за помощь!  
 
Вы если темы создаете - то и отслеживать их должны. В прошлой теме дал Вам ответ - до сих пор молчание. Вопрос: зачем давать Вам решения, если Вы потом про темы забываете? Пустая трата времени...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
И это не в первый раз.
 
буквально несколько дней назад было на форуме ровно то, что ищете.
F1 творит чудеса
 
Да тут вообще была неделя JSON в Power Query!
Вот горшок пустой, он предмет простой...
 
Дмитрий(The_Prist) Щербаков, был в отпуске и не мог попасть на рабочую машину, чтобы протестировать решения. Сегодня первым делом на форум зашел, и разобрал все ответы. Спасибо Вам огромное, действительно ответы Ваши мне очень помогли.
Юрий М, не могу себя приучить писать пустые ответы, если не разобрался в ответе.
Максим Зеленский, мне кажется Вы про вот эту тему. Я поиском находил, как считывать данные из JSON файла - если там единый массив данных.
Но суть вопроса именно в том, что мы в один фаил с каждой новой строчки записали JSON ответы от API. Вариант был - каждый ответ записать в отдельный фаил и тогда бы считка стандартная сработала. НО каждый ответ в отдельный фаил приведет к 7000 файлам:( По ссылки от код PooHkrd, выдает ошибку поэтому я и задал вопрос, можно ли как-то обработать такой фаил, где с каждой новой строки отдельный JSON. Благодарю!

Код
let
    Source = Json.Document(File.Contents("d:\Мусор\allProd.txt")), 
    #"Converted to Table" = Record.ToTable(Source)
in
    #"Converted to Table"
 
Цитата
Vsevolod написал:
можно ли как-то обработать такой фаил, где с каждой новой строки отдельный JSON
ну раскладываются же текстовики по строкам... примеры были на форуме... дальше обработка json-переменных по столбцу построчно -- уже всё нюансы каждой отдельной json-структуры... полагаю они у вас однотипны и тоже проблем с этим возникнуть не должно (по столбцу)... рекурсия по столбцу через each не должна вызывать проблем - с теми функциями которые это позволяют
Изменено: JeyCi - 05.08.2018 20:46:09
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
JeyCi написал:
рекурсия по столбцу через each не должна вызывать проблем - с теми функциями которые это позволяют
JeyCi,  поясните, пожалуйста, что вы в этом контексте понимаете под рекурсией?
 
Цитата
Андрей VG написал:
под рекурсией?
да, наверно перемудрила... просто на слуху застряло: "в PQ нет циклов, только рекурсия"... хотя по сути заполнение каждого each-того элемента по столбцу по одной схеме обработки каждой строки (но не совсем цикл, а общее правило для каждой строки в столбце) через Table.TransformColumns... ну вот как-то так  :) - после всех этих языков уже с русским проблемы...
Изменено: JeyCi - 06.08.2018 13:17:23
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
JeyCi, у меня получается Json данные загружать, когда в файле единый ответ(данные) от API. Если записываю ответЫ в один фаил(с новой строчки), как показано в файле примера в начальном посту, то выдает ошибку по считке(последнее мое сообщение).
Я сейчас уже решил задачу "костылем" - считывая из API я JSON переконверчиваю в CSV. Но очень бы хотелось научиться считывать данные в формате JSON из файла с агрегированными данными(каждая строчка, отдельный JSON ответ)
Это два массива JSON данных. Если бы был один, все считалось бы:
 
Цитата
Vsevolod написал:
Максим Зеленский , мне кажется Вы про вот  эту тему . Я поиском находил, как считывать данные из JSON файла - если там единый массив данных.
эта тема была не несколько дней назад. ладно, тоже воспользуюсь поиском:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=107351&TITLE_SEO=107351-kak-izvlech-i-razbit-dannye-iz-yacheyki-s-json-v-sosednie-yacheyki&MID=889467#message889467
F1 творит чудеса
 
Максим Зеленский, Благодарю! Постараюсь разобраться в теме!  
 
Цитата
Vsevolod написал:
скачивает по 50 строчек за раз данные и записывает в данный фаил с новой строки
неправильно!.. если вы хотите считывать 1 файл целиком, как json-структуру -- вам надо его ЦЕЛИКОМ оформить как json-структуру!.. прикладываю пример: разные json (простенькие) записала через запятую и оформила в квадратные скобки -- что есть синтаксисом JSON-разметки [массив] -- потом в PQ соответствующе распарсила...
p.s. можете оформить в фигурные скобки {ваши структуры через запятую И с ключом} -- но полагаю вам придётся задавать ключ(и) -- не усложняла... - оформила синтаксисом json в массив
p.p.s в вашем стартовом посте темы: JSON не понял ваши переносы на новые строки !.. соблюдайте структуру Json и всё получится
p.p.p.s ваш файл не смотрела - sorry неудобно (не на стационарном пк)
Изменено: JeyCi - 17.08.2018 19:42:24
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
Vsevolod написал:
считывая из API я JSON переконверчиваю в CSV
не надо - записывайте через запятую и оберните в квадратные скобки... и читайте как массив из json в PQ
1-ваш, 2-норм структура вашего для json
Изменено: JeyCi - 22.08.2018 20:18:11
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Страницы: 1
Наверх