Size: a a a

2020 January 08

RB

Roman B in SPb Python
подскажите пожалуйста, как можно уместить в одну строку:
       lot = root.find('.//default:lot', nsmap)  #тут мы нашли имя узла
       name_list = lot.find('.//default:fullName', nsmap)

целиком участок кода вот, если нужно:

tree = etree.parse(XML_path)
       root = tree.getroot()
       
       nsmap = {
           'default': "http://zakupki.gov.ru/oos/types/1",
           'ns2': "http://zakupki.gov.ru/oos/export/1"            
       }


       lot = root.find('.//default:lot', nsmap)  #тут мы нашли имя узла
       name_list = lot.find('.//default:fullName', nsmap)
       
       print(name_list.text)
источник

N

Nunu in SPb Python
Simon Osipov
Привет, 10 долларов в час, это почти 100к в месяц. Это уже хороший уверенный джун, но никак не стажёр. Плюс есом опыт в DS и бигдате, большой, то тем более слово стажёр не подходит. Мне кажется, у вас больше шансов найти проект, если вы перестанете называть себя стажером.
Спасибо 😊 я просто в питоне начинающая а в остальном могу проанализировать и намоделировать  огого 🙂
источник

YV

Yuliya Volkova in SPb Python
Roman B
подскажите пожалуйста, как можно уместить в одну строку:
       lot = root.find('.//default:lot', nsmap)  #тут мы нашли имя узла
       name_list = lot.find('.//default:fullName', nsmap)

целиком участок кода вот, если нужно:

tree = etree.parse(XML_path)
       root = tree.getroot()
       
       nsmap = {
           'default': "http://zakupki.gov.ru/oos/types/1",
           'ns2': "http://zakupki.gov.ru/oos/export/1"            
       }


       lot = root.find('.//default:lot', nsmap)  #тут мы нашли имя узла
       name_list = lot.find('.//default:fullName', nsmap)
       
       print(name_list.text)
Ну так подставить вместо lot то что вы присваиваете в эту переменную
источник

YV

Yuliya Volkova in SPb Python
Nunu
Спасибо 😊 я просто в питоне начинающая а в остальном могу проанализировать и намоделировать  огого 🙂
А какой опыт в BigData? На чем на Scala/Java?
источник

RB

Roman B in SPb Python
Yuliya Volkova
Ну так подставить вместо lot то что вы присваиваете в эту переменную
Не совсем понятно как. Можете на примере показать?
Я просто ещё только начинаю
источник

YV

Yuliya Volkova in SPb Python
Roman B
Не совсем понятно как. Можете на примере показать?
Я просто ещё только начинаю
name_list = root.find('.//default:lot', nsmap).find('.//default:fullName', nsmap)
       
print(name_list.text)
источник

YV

Yuliya Volkova in SPb Python
Roman B
Не совсем понятно как. Можете на примере показать?
Я просто ещё только начинаю
Вы понимаете что такое переменные и присваивание переменках в питоне и в программировании в целом? Это базовое понятие
источник

YV

Yuliya Volkova in SPb Python
Вы можете в целом этот код переписать без присваивания переменных и использования их, в целом вставив всю конструкцию после name_list вместо этого слова в print и получить тот же результат
источник

RB

Roman B in SPb Python
Yuliya Volkova
Вы понимаете что такое переменные и присваивание переменках в питоне и в программировании в целом? Это базовое понятие
Понимаю. но не знал как одно в другое вложить. Спасибо большое за помощь
источник

RB

Roman B in SPb Python
в принт понятно, это простая процедура, в дельнейшем будет в переменую уходить и в базу записываться
источник

RB

Roman B in SPb Python
еще вроде как то можно было через xpath реализовать, но не смог разобраться, не подскажите как?
источник
2020 January 09

KM

Kristina Mironova in SPb Python
Привет! Ктонибудь может научить как запросить из Монго документ по ID? Я уже все перепробовала.. В pymongo 3.1 вообще нет такого обьекта ObjectID.. это в bson.

сделала from bson.objectid import ObjectId
data = collection.find({"_id": ObjectId(id)})
и на это выпадает ошибка импорта

from bson.py3compat import abc, string_type, PY3, text_type
ImportError: cannot import name 'abc' from 'bson.py3compat' (/usr/local/lib/python3.8/dist-packages/bson/py3compat.py)
источник

DS

David Shiko in SPb Python
Как поменять список с помощью переменной? Есть какой то вариант, но я его не помню.

Условно:

c = 3
l = [1, 2, c]
print(l) #  1, 2, 3
c = 5
print(l)  # 1, 2, 5
источник

S

Stanislav in SPb Python
Kristina Mironova
Привет! Ктонибудь может научить как запросить из Монго документ по ID? Я уже все перепробовала.. В pymongo 3.1 вообще нет такого обьекта ObjectID.. это в bson.

сделала from bson.objectid import ObjectId
data = collection.find({"_id": ObjectId(id)})
и на это выпадает ошибка импорта

from bson.py3compat import abc, string_type, PY3, text_type
ImportError: cannot import name 'abc' from 'bson.py3compat' (/usr/local/lib/python3.8/dist-packages/bson/py3compat.py)
Привет! А ты не устанавливала, случаем, отдельно bson? (pip install bson)

Если да, то с pymongo не надо так. Код у тебя правильный.
источник

S

Stanislav in SPb Python
David Shiko
Как поменять список с помощью переменной? Есть какой то вариант, но я его не помню.

Условно:

c = 3
l = [1, 2, c]
print(l) #  1, 2, 3
c = 5
print(l)  # 1, 2, 5
Кажется, ты хочешь указатель в питоне, у меня поэтому вопрос: зачем так?
источник

S

Stanislav in SPb Python
Скажите, если не ок, что я сразу на «ты». @abckristina David

Не знаю пока, как здесь по умолчанию принято :-)
источник

DS

David Shiko in SPb Python
Stanislav
Кажется, ты хочешь указатель в питоне, у меня поэтому вопрос: зачем так?
Да, по факту это указатель. Так я смогу положить переменную в список и менять список посредством переменной, а не индексу. Так проще читается.
источник

S

Stanislav in SPb Python
David Shiko
Да, по факту это указатель. Так я смогу положить переменную в список и менять список посредством переменной, а не индексу. Так проще читается.
Я понимаю, что можешь, но это мне кажется непитоновским совсем желанием и code smell’ом.
источник

S

Stanislav in SPb Python
То есть я полагаю, что в этой ситуации надо на уровень выше уйти и посмотреть на код, в котором это предполагается использовать.
источник

S

Stanislav in SPb Python
David Shiko
Да, по факту это указатель. Так я смогу положить переменную в список и менять список посредством переменной, а не индексу. Так проще читается.
Технически-то как бы можно, если ты модифицируешь объект в переменной (соответственно, это должен быть изменяемый, mutable, тип):
class Foo():
   foo = None

   def __init__(self, foo):
       self.foo = foo

   def __repr__(self):
       return f'{self.foo}'


l = [1, 2, Foo('foo')]

print(l)  # [1, 2, foo]

a = l[-1]
a.foo = 'new'

print(l)  # [1, 2, new]


Но идея все еще "пахнет".
источник