@ru_python

Страница 9241 из 9768
?? Eugene
04.06.2019
20:50:52
с датой то же самое

drd0c
04.06.2019
20:51:02
In [32]: from decimal import Decimal In [33]: str(Decimal("1.0")) Out[33]: '1.0'
ну а почему мне приходит Decimal, если я запросил float

drd0c
04.06.2019
20:51:53
в таблице, float. а назад приходит какой то Decimal.

Google
Alex
04.06.2019
20:51:56
с датой то же самое
тоже верно. для даты время можно просто в строку конвертануть

drd0c
04.06.2019
20:53:34
Decimal лучше
в запросе из этой таблицы 6 полей, есть таблица где 23 поля, мне что циклом обходить 500 записей и в каждой преобразовывать каждое из 23 значений к нужному виду??

Alex
04.06.2019
20:54:16
ну ты можешь отформатировать все в запросе

Alex
04.06.2019
20:54:47
который я просто конвертну в json и верну назад
ну так я у тебя и спросил блин в каком ты формате их хочешь

ты что ответил?

drd0c
04.06.2019
20:55:05
ты что ответил?
ступил, извиняюсь

Alex
04.06.2019
20:55:38
но ты ведь json в виде списка словарей наверное захочешь?

drd0c
04.06.2019
20:56:33
json на каждую запись, и все это в json

Alex
04.06.2019
20:57:48
в json какой тип должен быть? array (в терминах json) наверное же?

а в array должен быть массив из объектов же?

Google
Alex
04.06.2019
21:00:02
думаю как json object
ну смотри, ни datetime ни decimal не являются автоматически сериализуемыми в JSON

ты можешь написать свой простенький хендлер к JSON если не хочешь связываться со сторонними решениями

drd0c
04.06.2019
21:00:53
Alex
04.06.2019
21:00:57
можешь просто в запросе нужные поля конвертануть к строке. можешь все таки в цикле \ генераторе это все обработать.

у тебя тип поля numeric поди

Alex
04.06.2019
21:03:46
ПОЧЕМУ мне приходит decimal, если должен float?????
эта черепашка пи*дит http://initd.org/psycopg/docs/usage.html#adaptation-of-python-values-to-sql-types

да
ну так схерали тебе должен float приходить если это не число с плавающей запятой?

drd0c
04.06.2019
21:04:23
ясненько, понял. спасибо

Alex
04.06.2019
21:04:53
decimal / numeric - это числа с фиксированной точностью

соответственно psycopg корректно преобразует их в тип с фиксированной точностью в питоне, коим является Decimal.

drd0c
04.06.2019
21:06:16
соответственно psycopg корректно преобразует их в тип с фиксированной точностью в питоне, коим является Decimal.
ну я видимо не смог нагуглить правильно эту таблицу, я как раз и искал что-то такое

Alex
04.06.2019
21:06:20
в общем взял бы ты marshmallow какой-нибудь и не парил себе мозг.

drd0c
04.06.2019
21:07:31
Tishka17
04.06.2019
21:10:23
ну смотри, ни datetime ни decimal не являются автоматически сериализуемыми в JSON
https://github.com/Tishka17/dataclass_factory/blob/master/README.md Там пример есть для дат :)

Я чёт правда не понял, у вас жсон или база

Google
Tishka17
04.06.2019
21:11:26
Хм, прям в постгресе бы собрал уже

Alex
04.06.2019
21:11:37
сразу в запросе в текст конвертировать

Tishka17
04.06.2019
21:12:15
row_to_json и вперёд

Alex
04.06.2019
21:12:46
row_to_json и вперёд
кстати отличный вариант

Tishka17
04.06.2019
21:12:51
И json_agg на всё

drd0c
04.06.2019
21:14:27
row_to_json и вперёд
гениально

Tishka17
04.06.2019
21:15:10
У нас так один проект жил.

А потом мне понадобилась промежуточная обработка и часть данных из другого источника брать и все пришлось к чертям переписывать

drd0c
04.06.2019
21:15:56
И json_agg на всё
как заюзать? у меня получился массив json'ов select row_to_json(row) from (select * from location) row

Tishka17
04.06.2019
21:17:14
Select json_agg( Select row_to_json(location) from location) as result;

Как-то так

По синтаксису не уверен, может где-то ещё надо селект тупой нужен

Cyberwolf
04.06.2019
21:19:00
кто работал с реалтайм графиками сделанными в питон Dash не сталкивались с проблемой что через некоторое время график перестает обновлятся ? на офф. форуме видел жалобы на эту проблему, но решения нет

Alex
04.06.2019
21:21:14
Tishka17
04.06.2019
21:21:35
Возможно

Alex
04.06.2019
21:22:35
Возможно
проверил, работает

drd0c
04.06.2019
21:23:09
Select json_agg( Select row_to_json(location) from location) as result;
select json_agg(row) as result from (select row_to_json(row) as json from (select * from location where tag = 17796 and id<1000) row) row

Alex
04.06.2019
21:23:50
select json_agg(location) from location where tag = 17796 and id<1000

Google
drd0c
04.06.2019
21:26:06
^
все равно массив json'ов, или так и должно?

Alex
04.06.2019
21:26:18
все равно массив json'ов, или так и должно?
так и должно, а ты как хотел?

drd0c
04.06.2019
21:26:31
json json'ов

Tishka17
04.06.2019
21:26:39
Alex
04.06.2019
21:26:43
json json'ов
ээм… это и есть json

Tishka17
04.06.2019
21:27:07
drd0c
04.06.2019
21:27:23
Отдельными строками?
[{"id":1,"timestamp":"51393-03-17T03:33:16","tag":14574,"x":1,"y":1,"z":0,"quality":61}, {"id":2,"timestamp":"51393-03-17T03:33:16","tag":14574,"x":1,"y":1,"z":0,"quality":61}]

Alex
04.06.2019
21:27:49
этот запрос тебе вот ровно то же самое и возвращает

Tishka17
04.06.2019
21:27:50
Тогда в чем вопрос?

drd0c
04.06.2019
21:27:50
Tishka17
04.06.2019
21:28:13
Что с ним не так?

drd0c
04.06.2019
21:28:13
чтобы было {{"id":1,"timestamp":"51393-03-17T03:33:16","tag":14574,"x":1,"y":1,"z":0,"quality":61}, {"id":2,"timestamp":"51393-03-17T03:33:16","tag":14574,"x":1,"y":1,"z":0,"quality":61}}

drd0c
04.06.2019
21:28:36
Ты в курсе, что это не json?
так, я запутался...

Tishka17
04.06.2019
21:28:47
{1,2} - это не жсон

[1,2] - это жсон

Google
Alex
04.06.2019
21:28:59
так, я запутался...
{} - это объект

объект - это ключ-значение

drd0c
04.06.2019
21:30:02
точно, ну ладно, пойму что захочет конкретно видеть у себя джаваскрипт, преобразую. Но json_agg это гениально)

Спасибо всем большое за помощь

Alex
04.06.2019
21:30:30
я тебе даже больше скажу, строка ”foobar” - это json

Tishka17
04.06.2019
21:31:13
я тебе даже больше скажу, строка ”foobar” - это json
Там сложнее. Кажется по принятому стандарту, все таки нет

Tishka17
04.06.2019
21:31:55
Но есть новый, который разрешает и фактически все вроде это понимают

Чёт на днях зарт кидал ссылку на то, как тайпинг на жсон натягивали

Страница 9241 из 9768