如何将OpenAI嵌入结果JSONL文件加载为指定结构的Pandas DataFrame
解决JSONL嵌入结果转Pandas DataFrame的问题
步骤1:导入所需工具
先在Python里导入两个核心库,pandas用于表格处理,json用于解析JSON内容:
import pandas as pd import json
步骤2:逐行解析JSONL文件
你的JSONL每行是包含请求、响应的数组,直接用pd.read_json会得到嵌套列,所以需要手动逐行读取解析:
# 初始化两个列表,分别存储输入字符串和嵌入向量 input_texts = [] embeddings = [] # 替换成你的JSONL文件实际路径 file_path = "你的嵌入结果文件.jsonl" with open(file_path, 'r', encoding='utf-8') as f: for line in f: # 解析每行的JSON数组 entry = json.loads(line.strip()) # 提取请求里的输入字符串(根据你的实际结构调整字段名) input_str = entry[0]['input'] # 提取响应里的1536维嵌入向量 embedding_vec = entry[1]['embedding'] input_texts.append(input_str) embeddings.append(embedding_vec)
步骤3:生成目标结构的DataFrame
把嵌入向量拆分成单独的列,再和输入字符串列合并:
# 将嵌入列表转成DataFrame,列名设为emb_0到emb_1535 emb_df = pd.DataFrame(embeddings, columns=[f"emb_{i}" for i in range(1536)]) # 生成输入字符串列的DataFrame input_df = pd.DataFrame({"input_text": input_texts}) # 合并两个DataFrame,得到最终结构 final_df = pd.concat([input_df, emb_df], axis=1)
步骤4:保存为CSV(方便用R处理)
如果需要用R打开,直接把最终DataFrame存成CSV文件:
final_df.to_csv("嵌入结果表格.csv", index=False, encoding='utf-8')
注意事项
- 如果你的JSONL结构和示例不同(比如请求里的输入字段不是
input,或响应里的嵌入字段不是embedding),需要调整代码里的entry[0]['input']和entry[1]['embedding'],对应你实际的字段名。 - 50万条数据量较大,若内存不足,可考虑分块处理(比如每处理1万条就保存一次,最后合并所有块)。
内容的提问来源于stack exchange,提问作者user12900831
相关产品推荐
相关产品推荐

