Python如何讀取*.jsonl (JSON Lines)? 讀取為List[dict]

加入好友
加入社群
Python如何讀取*.jsonl (JSON Lines)? 讀取為List[dict] - 儲蓄保險王

JSONL(JSON Lines)是一种基于文本的数据格式,通常用于存储一系列 JSON 对象,每个对象占用文件中的一行。JSONL 格式在每行上包含一个有效的 JSON 对象,这些对象可以具有不同的结构,但通常是类似于字典的键值对结构。

JSONL 格式在处理大量数据时非常有用,因为它允许你逐行处理数据而无需一次加载整个文件,这对于处理日志文件、导出数据、文本文件等非常有用。每一行都是一个独立的 JSON 对象,因此可以轻松地逐行读取和处理。

在处理 JSONL 文件时,你可以逐行读取每个 JSON 对象,然后解析它们以获取所需的数据。这种格式的文件通常以 .jsonl 扩展名保存。

code:

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 24 22:49:56 2023

@author: SavingKing
"""

import json

# 1. 打开 JSONL 文件
with open('data.jsonl', 'r') as file:
    # 2. 逐行读取文件
    for line in file:
        # 3. 解析 JSON 对象
        data = json.loads(line)
        print(data)  # 输出每个 JSON 对象

        # 在这里你可以进一步处理 data获取其中的数据字段


輸出結果:

Python如何讀取*.jsonl (JSON Lines)? 讀取為List[dict] - 儲蓄保險王


再示範一例
code:

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 24 22:49:56 2023

@author: SavingKing
"""

import json

# 1. 打开 JSONL 文件
with open('conversation.jsonl', 'r') as file:
    conversation = []  # 用于存储消息的列表
    #List[dict]
    # 2. 逐行读取文件
    for line in file:
        # 3. 解析 JSON 对象
        data = json.loads(line)

        # 4. 构建消息字典
        message = {"role": data["role"], "content": data["content"]}
        
        # 5. 将消息字典添加到对话列表
        conversation.append(message)

# 输出整个对话列表
print(conversation)

# 现在你可以将 `conversation` 用作 `messages` 参数传递给 OpenAI GPT-3 API 请求

輸出結果:

Python如何讀取*.jsonl (JSON Lines)? 讀取為List[dict] - 儲蓄保險王

推薦hahow線上學習python: https://igrape.net/30afN

加入好友
加入社群
Python如何讀取*.jsonl (JSON Lines)? 讀取為List[dict] - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *