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))
添加回答
舉報