使用Python提取字段
我正在寻找帮助,以提取一个特定的领域 这里是一个例子,我无法根据字段编号进行拆分和剪切,因为编号可能会因内容更改而更改 示例1使用Python提取字段,python,Python,我正在寻找帮助,以提取一个特定的领域 这里是一个例子,我无法根据字段编号进行拆分和剪切,因为编号可能会因内容更改而更改 示例1 [["cn","Phone",1,"","LI(\"\")","0","19%","",""],["OS_DisplayName","Display Name",1,"","LI(\"\")","1,0","19%","",""],["OS_ProductPackage","Product Package",1,"","CO(\"\",\"REQ;1_BASIC!OS!
[["cn","Phone",1,"","LI(\"\")","0","19%","",""],["OS_DisplayName","Display Name",1,"","LI(\"\")","1,0","19%","",""],["OS_ProductPackage","Product Package",1,"","CO(\"\",\"REQ;1_BASIC!OS!TRV;2_Messaging!OS!OEM;3_Extended!OS!EAC;4_Enhanced!OS!APO;5_Analog Port!OS!CCA;6_Contact Center Agent\",\"\",\";\",\"\",\"\")","2,0","19%","",""],["sn","Last name",1,"","LI(\"\")","3,0","12%","",""],["givenName","First name",1,"","LI(\"\")","4,0","12%","",""],["OS_SiteCode","Site Code",1,"","LI(\"\")","5,0","19%","",""]],[["917845678923","Backup","OEM","917845678923","","CNdd_RD_91784567","","cn=917845678923,cn=Subscribers,cn=np_CNdd_RnD_WangJing,cn=IPC_APAC_1_01,cn=DN,cn=Resources,cn=Users,cn=OS"]],
输出应该是
cn=917845678923,cn=Subscribers,cn=np_CNdd_RnD_WangJing,cn=IPC_APAC_1_01,cn=DN,cn=Resources,cn=Users,cn=OS
示例2
[["cn","Phone",1,"","LI(\"\")","0","19%","",""],["OS_DisplayName","Display Name",1,"","LI(\"\")","1,0","19%","",""],["OS_ProductPackage","Product Package",1,"","CO(\"\",\"REQ;1_BASIC!OS!TRV;2_Messaging!OS!OEM;3_Extended!OS!EAC;4_Enhanced!OS!APO;5_Analog Port!OS!CCA;6_Contact Center Agent\",\"\",\";\",\"\",\"\")","2,0","19%","",""],["sn","Last name",1,"","LI(\"\")","3,0","12%","",""],["givenName","First name",1,"","LI(\"\")","4,0","12%","",""],["OS_SiteCode","Site Code",1,"","LI(\"\")","5,0","19%","",""]],[["868694755000","Yaeng Danning","EAC","Yaeng","Dainning","CNdd_DT_86869475","","cn=868694755000,cn=Subscribers,cn=np_CNdd_DN,cn=IPC_APAC_1_01,cn=DN,cn=Resources,cn=Users,cn=OS"]],
输出应为
cn=868694755000,cn=Subscribers,cn=np_CNdd_DN,cn=IPC_APAC_1_01,cn=DN,cn=Resources,cn=Users,cn=OS
有人能帮我吗
我尝试了下面的代码,但由于字段号更改,我无法使用常量字段号(e[8])
e = line3.split('","","')
print "e"
print e
e = e[8].replace('"]],','').replace('","','').strip()
print "e:" ,e
如果保证
cn
字段是最后一个字段,则可以执行以下操作:
cnFields = array [-1][-1]
然后按照您认为合适的方式对其进行解析
否则,您需要遍历2d数组,直到找到以
cn=
开头的字符串 如果保证cn
字段是最后一个字段,您可以执行以下操作:
cnFields = array [-1][-1]
然后按照您认为合适的方式对其进行解析
否则,您需要遍历2d数组,直到找到以
cn=
开头的字符串 您可以将列表展平,然后在其中搜索
myList = (['one', 'two', ['cn=blahblah', 4, [5],['hi']], [6, [[[7, 'hello']]]]])
def flatten(container):
for i in container:
if isinstance(i, (list,tuple)):
for j in flatten(i):
yield j
else:
yield i
flattenedList = list(flatten(myList))
for x in flattenedList:
if str(x).startswith('cn='):
print(x)
您可以将列表展平,然后在其中搜索
myList = (['one', 'two', ['cn=blahblah', 4, [5],['hi']], [6, [[[7, 'hello']]]]])
def flatten(container):
for i in container:
if isinstance(i, (list,tuple)):
for j in flatten(i):
yield j
else:
yield i
flattenedList = list(flatten(myList))
for x in flattenedList:
if str(x).startswith('cn='):
print(x)
e=line3.split(“,”,“)
print e
e=e[8]。替换(“]”、“,”)。替换(“,”)。strip()
print“e:“,e
请编辑您的帖子-注释不是放置代码的正确位置。我尝试了此操作,现在它正在工作。我无法使用常量字段编号,您可以看到字段编号正在更改。e=line3.拆分(“,”,“,”)
打印e
e=e[8]。替换(“,”,”)。替换(“,”,“,”)。带()“,e
请编辑您的帖子-注释不是放置代码的正确位置。我尝试了此方法,现在它正在工作。我不能使用常量字段编号,您可以看到字段编号正在更改。>b=s[-1][-1]
>>sd=b[+7]>打印sd
这对我有用吗我们可以在单行中使用它[-1][1]>sd=b[+7]
>print sd
这对我有用吗?我们可以用单行吗?请给我一个例子,我给你写了工作代码…你应该把你的列表放在名为“myList”的变量中,它将被展平为一个简单的一维列表,您可以用一个简单的循环来解析。但是,当我尝试下面的展平列表打印链接时,['、['、'、'、'c'、'n'、'、'P'、'h'、'o'、'n'、'e'、'、'1'、'、'、'、'、'、'L'、'i'、'('、'、'、'\\'、'",","0",","0",","0",","0",","0","","0","",""",""",""0",",",",",",",",",","","“,
用括号将列表括起来定义它…例如:myList=([[“cn”,“Phone”,1,“,………=”用户,cn=OS“])你能给我一个例子吗?我给你写了工作代码…你应该把列表放在名为“myList”的变量中,它将被展平为一个简单的一维列表,您可以用一个简单的循环来解析它。但是当我尝试我的展平列表打印链接时,它位于['、['、'、'、'c'、'n'、'、'、'P'、'h'、'o'、'n'、'e'、'、'、'、'、'、'1'、'、'、'、'、'、'、'、'、'、'、'、'、'、'、'L'、'('、'、'、'、'、'、'、'、'、'、'、'、'、'('、'、'、'、'、'、'、'、'、'、'、'、'、'、'、'、'、",","0",","0",","0",","0",","0","","0","",""",""",""0",",",",",",",",",","","“,
将列表括在括号中以定义它…例如:myList=([[“cn”,“Phone”,1,“,………=用户,cn=OS”])