如何将含字符串数字序列列的DataFrame导出为带数字数组的JSON文件
Pandas导出JSON时将字符串数值序列转换为数字数组的方案
完全可以实现该需求,只需要在调用to_json导出前,对Wertereihe列做格式转换即可:pandas导出JSON时会自动将DataFrame中存储的列表类型映射为JSON数组格式,不需要修改导出参数。
具体操作步骤
- 转换目标列格式
将Wertereihe列的逗号分隔字符串,拆分并转换为浮点型数组:
# 简单版:无异常处理,适用于所有行格式统一的场景 df['Wertereihe'] = df['Wertereihe'].apply(lambda x: [float(num) for num in x.split(',')])
如果存在空值、格式异常的行,可以加异常处理逻辑:
# 兼容异常版 def str_to_num_arr(s): try: return [float(num) for num in s.split(',')] except: # 可根据需求自定义异常时的返回值,比如空数组、None等 return [] df['Wertereihe'] = df['Wertereihe'].apply(str_to_num_arr)
- 执行导出
使用你原来的导出代码即可:
df.to_json(jsonFile, orient = "records")
导出后得到的JSON结构就会符合你的要求,Wertereihe字段会变成数字数组格式。
内容的提问来源于stack exchange,提问作者SkogensKonung
相关产品推荐
相关产品推荐

