Python读取JSON文件提取不同公司属性值并存储为numpy.ndarray的方法
Python实现JSON公司数据提取转Numpy数组方案
依赖导入
首先引入需要的工具库:
import json import numpy as np
第一步:读取JSON文件
直接加载整个JSON文件为Python字典,键对应公司编号,值对应公司属性数据:
with open("input/company_data.json", "r", encoding="utf-8") as f: raw_data = json.load(f)
第二步:遍历提取目标属性
遍历所有公司编号,对有效数据提取Income和Assets字段,无效空数据填充占位值(可按需调整为0或其他默认值):
# 定义需要提取的属性顺序 extract_fields = ["Income", "Assets"] result_buffer = [] for company_id, company_info in raw_data.items(): # 处理空数据条目 if not isinstance(company_info, dict): # 空数据填充为nan,也可根据业务需求改为0 row = [np.nan for _ in extract_fields] else: # 按指定顺序提取属性,缺失属性也填充nan row = [company_info.get(field, np.nan) for field in extract_fields] # 如需保留公司编号与数值对应关系,可将该行改为 row = [company_id] + row result_buffer.append(row)
第三步:转换为Numpy数组格式
将临时存储的列表直接转换为ndarray类型:
# 生成纯数值类型的ndarray data_ndarr = np.array(result_buffer, dtype=np.float64)
如果需要保留公司编号信息,调整上一步的row结构后,生成object类型的ndarray即可:
data_ndarr_with_id = np.array(result_buffer, dtype=object)
内容的提问来源于stack exchange,提问作者joy_finder
相关产品推荐
相关产品推荐

