有一个文本文件很多值,如何从中提取特定部分并将其按顺序排列在另一个文本文件中
文本文件的一部分:
{
"number": "acd162",
"password": "pass1425-*",
"Type": "phone"
}
{
"number": "bcd119",
"password": "pass1234- ",
"Type": "phone"
}
{
"number": "abc123",
"password": "pass0*++",
"Type": "phone"
{
"number": "ahwc1286",
"password": "pass*-+",
"Type": "phone"
}
我需要的输出:
需要另一个文本文件中的所有密码列为
1="pass1425-"
2="pass1234- "
3="pass0*++"
4="pass*-+"
尝试了这个:
"password":.* "\w+"
但无法弄清楚我应该如何提取它们并为它们分配1,2,3,4,5 ........
答案 0 :(得分:1)
如果文本文件不是JSON:
import re
data = '''
{
"number": "acd162",
"password": "pass1425-*",
"Type": "phone"
}
{
"number": "bcd119",
"password": "pass1234- ",
"Type": "phone"
}
{
"number": "abc123",
"password": "pass0*++",
"Type": "phone"
{
"number": "ahwc1286",
"password": "pass*-+",
"Type": "phone"
}
'''
for i, p in enumerate(re.findall(r'"password":[^"]*"(.*?)"', data), 1):
print('{}="{}"'.format(i, p))
打印:
1="pass1425-*"
2="pass1234- "
3="pass0*++"
4="pass*-+"
如果是JSON:
import json
data = '''
[{
"number": "acd162",
"password": "pass1425-*",
"Type": "phone"
},
{
"number": "bcd119",
"password": "pass1234- ",
"Type": "phone"
},
{
"number": "abc123",
"password": "pass0*++",
"Type": "phone"
},
{
"number": "ahwc1286",
"password": "pass*-+",
"Type": "phone"
}]
'''
for i, d in enumerate(json.loads(data), 1):
print('{}="{}"'.format(i, d['password']))
打印:
1="pass1425-*"
2="pass1234- "
3="pass0*++"
4="pass*-+"