You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将data.db格式的JSON行数据导入pandas DataFrame?

正确导入每行独立JSON的文件到Pandas DataFrame

你的问题根源在于用逗号分割每行内容——这种方式会把JSON的键(也就是你说的"字段标签")和值拆得七零八落,自然会混进表格里。其实你的文件是每行一个完整的JSON对象,用专门的JSON解析方法就能完美解决。

这里给你两种简单可行的方案:

方案一:用Pandas自带的read_json(最简便)

Pandas的read_json方法专门支持这种每行一个JSON的格式,只需要加上lines=True参数就行:

import pandas as pd

file_path = "path_to_file/data.db"
# lines=True 表示每行是独立的JSON对象
df = pd.read_json(file_path, lines=True)
# 查看前几行验证结果
print(df.head())

这个方法会自动把每个JSON里的键作为DataFrame的列名,对应的值填充到行中,完全不会出现字段标签混进表格的问题。

方案二:手动逐行解析JSON(适合需要自定义处理的场景)

如果你需要在导入前对数据做一些自定义处理,可以手动逐行读取并解析JSON,再转成DataFrame:

import pandas as pd
import json

file_path = "path_to_file/data.db"

parsed_data = []
with open(file_path, 'r') as f:
    for line in f:
        # 去除每行首尾的空白字符,解析为JSON字典
        json_dict = json.loads(line.strip())
        parsed_data.append(json_dict)

# 把字典列表转成DataFrame
df = pd.DataFrame(parsed_data)
print(df.head())

为什么你之前的方法不行?

你之前用x.split(',')会把类似"hostname":"136.243.73.66"这样的键值对拆成["\"hostname\"", "\"136.243.73.66\""]两个独立元素,最终得到的是一堆零散的字符串,完全不是结构化的表格数据,这才导致字段标签混入了表格内容。

内容的提问来源于stack exchange,提问作者Wehl Berker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:20:36