6 回答

TA贡献1825条经验 获得超4个赞
这个“奇怪的数据集”实际上是一种基于 JSON 的现有格式,称为JSONL。
正如@user655321 所说,您可以解析每一行。这是一个更完整的示例,其中包含 dicts 列表中可用的完整数据集dataset:
import json
dataset = []
with open("my_file.json") as file:
for line in file:
dataset.append(json.loads(line))

TA贡献1843条经验 获得超7个赞
In [51]: [json.loads(i)["text"] for i in open("file.json").readlines()]
Out[51]: ['hello', 'hi', 'hihi']
使用列表理解,更容易

TA贡献1895条经验 获得超7个赞
您可以逐行阅读它,并将这些行转换为 JSON 对象,并text根据您的情况提取所需的数据。
您可以执行以下操作:
import json
lines = open("file.txt").readlines()
for line in lines:
dictionary = json.loads(line)
print(dictionary["text"])

TA贡献1831条经验 获得超10个赞
由于它不是单个 JSON 文件,您可以逐行读取输入并独立反序列化它们:
import jsonwith open('my_file.json') as fh: for line in fh: json_obj = json.loads(line) keys = json_obj.keys() # eg, 'a', 'b', 'text' text_val = json_obj['text'] # eg, 'hello', 'hi', or 'hihi'

TA贡献1802条经验 获得超10个赞
如何通过\n
使用 json 加载每个字典来拆分内容?就像是:
import jsonwith open(your_file) as f: data = f.read() my_dicts = []for line in data.split(): my_dicts.append(json.loads(line))

TA贡献1860条经验 获得超9个赞
import ast
with open('my_file.json') as fh:
for line in fh:
try:
dict_data = ast.literal_eval(line)
assert isinstance(dict_data,dict)
### Process Dictionary Data here or append to list to convert to list of dicts
except (SyntaxError, ValueError, AssertionError):
print('ERROR - {} is not a dictionary'.format(line))
添加回答
举报