gpt4 book ai didi

python - 如何将 ldap3 条目处理为 json 或列表以进行进一步的数据处理?

转载 作者:行者123 更新时间:2023-12-02 00:14:02 25 4
gpt4 key购买 nike

我需要使用 LDAP 从服务器获取数据。我正在使用 ldap3 并获得我需要的所有属性和响应,但是它们卡在 ldap.abstract.entry.entry 类中。我尝试了几种方法将数据转换为 json 或列表形式,但它从未按照我预期的方式工作。

例如我试过:

entry = conn.entries
current_data = (entry.entry_to_json())
print(type(current_data))
print(len(current_data))
>>> <class 'str'>
>>> 480

然而,这导致我的所有数据都是长度为 480 或更长的单个字符串。我尝试使用它,但事实证明这非常困难。所以我尝试了以下方法将字符串转换为字典:

current_data = (entry[0].entry_to_json())
current_data = ast.literal_eval(current_data)
print(type(current_data))
print(len(current_data))
>>> <class 'dict'>
>>> 2

但是,现在我无法单独访问所有不同的属性。我的目标是将从 LDAP 查询获得的所有数据写入 CSV,以便其他应用程序可以使用它。但目前我陷入困境,因为我无法将数据转换为 JSON 或 CSV 格式。

如何获取和处理来自 conn.entries 的数据,以便将每个属性写入 CSV 中的单独列?

祝愿

C.泽布

编辑:

这是我使用 (entry.entry_to_json()) 时得到的示例:

{
"attributes": {
"dcxLDOUniqueCN": [
"XXXX"
],
"dcxPostalAddress": [
"XXX"
],
"dcxSupervisor": [
"XXX"
],
"mail": [
"XXX"
],
"mobile": [],
"uid": [
"XXX"
]
},
"dn": "XXX"
}
{
"attributes": {
"dcxLDOUniqueCN": [],
"dcxPostalAddress": [
"XXX"
],
"dcxSupervisor": [
"XXX"
],
"mail": [],
"mobile": [],
"uid": [
"XXX"
]
},
"dn": "XXX"
}

最佳答案

我知道已经晚了,但万一有人在找这个...

来自 https://ldap3.readthedocs.io/en/latest/searches.html#entries

Attributes are stored in an internal dictionary with case insensitive access. You can even access the raw attribute with the entry_raw_attribute(attribute_name) to get an attribute raw value, or property entry_raw_attributes to get the whole raw attributes dictionary.

所以 entry.entry_raw_attributes 会给你你想要的字典。

关于python - 如何将 ldap3 条目处理为 json 或列表以进行进一步的数据处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57592853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com