Я получаю некоторые данные из активного каталога с библиотекой pyad. Как только я выполню запрос, я хотел бы создать фрейм данных с полученными данными:
import pyad
import pyad.adquery as query
pyad.set_defaults(ldap_server=xxxxxx)
q = query.ADQuery()
q.execute(
attributes=[attribute1,attribute2,attribute3]
where_clause=xxx
base_dn=xxxxx
)
После того, как я выполню запрос, я создаю фрейм данных следующим образом:
parameter1 = []
parameter2 = []
parameter3 = []
for x in q.get_results(): #IT'S A GENERATOR
parameter1.append(x['attribute1'])
parameter2.append(x['attribute2'])
parameter3.append(x['attribute3'])
df = pd.Dataframe({'P1':parameter1, 'P2':parameter2, 'P3':parameter3})
Способ создания фрейма данных не является чистым и элегантным. Есть ли способ улучшить этот код? Если бы это был только один параметр, я бы сделал:
df = pd.Dataframe({'P1': [x['parameter1'] for x in q.get_results()]})
, но q является генератором, поэтому я не могу запустить три списка списков без повторного запуска метода q.execute (. ..)