如何使用python从文本文件中提取数据

时间:2019-08-23 08:19:46

标签: python json

数据源在变量中以以下格式(类型=字符串)吐出数据

{"fname":"John","mname":"Smith","lname":"Berkley"}
{"fname":"Nash","mname":"willy","lname":"Godson"}
{"fname":"Jack","mname":"Tuna","lname":"Welch"}

我将此输出复制到文本文件。我该如何仅将上述文本中的名字提取到列表变量中。

在变量上使用json.loads()不起作用。我有办法实现这一目标吗?

3 个答案:

答案 0 :(得分:2)

您可以尝试:

import json

with open(YOUR_FILE, 'r') as f:
    lines = list(f)

first_names = [ json.loads(line)['fname'] for line in lines ]

答案 1 :(得分:0)

您可以阅读文件的每一行。
检出:https://www.w3schools.com/python/python_file_open.asp

然后,您可以使用json.loads()提取所需的内容。
检出:https://www.w3schools.com/python/python_json.asp

答案 2 :(得分:0)

如果以json读取不适合您,则正则表达式解决方案将是读取fname":"","之间的内容,并且可以在其中查找名字。现在使用findall查找字符串中的所有实例:

import re

with open('file.json', 'r') as f:
    text = f.read()

x = re.findall('fname":"(.*?)","', text)

输出:

['John', 'Nash', 'Jack']