如何使用regex提取文本文件中的特定值并将提取的值保存到另一个文件中?

2024-09-26 18:01:03 发布

您现在位置:Python中文网/ 问答频道 /正文

一个文本文件有许多值如何从中提取一个特定的部分,并在另一个文本文件中按顺序排列

文本文件的某些部分:

{
"number": "acd162",
"password": "pass1425-*",
"Type": "phone"

}
{
"number": "bcd119",
"password": "pass1234- ",
"Type": "phone"

}
{
"number": "abc123",
"password": "pass0*++",
"Type": "phone"

{
"number": "ahwc1286",
"password": "pass*-+",
"Type": "phone"

}

我需要的输出:

需要另一个文本文件中all的password列作为

1="pass1425-"
2="pass1234- "
3="pass0*++"
4="pass*-+"

试过这个:

"password":.* "\w+" 

但是我想不出应该如何提取它们,并给它们赋值1,2,3,4,5


Tags: numbertypephonepasspasswordall文本文件赋值
1条回答
网友
1楼 · 发布于 2024-09-26 18:01:03

如果文本文件不是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*-+"

相关问题 更多 >

    热门问题