【问题标题】:error says it a Pandas DataFrame when dumping a Python dict转储 Python 字典时,错误说它是 Pandas DataFrame
【发布时间】:2021-06-23 02:30:05
【问题描述】:

我有一个 Python 字典,但是当我尝试将其转储为 JSON 文件时,它说它是 Pandas DataFrame!

import pandas as pd
import os
import re
import json

files_net = [f for f in os.listdir('.') if re.match(r'network_.+.json', f)]
    
networks = {}
for file in files_net:
    with open(file) as f:
        networks[re.search(r'network_(.+).json', file).group(1)] = pd.read_json(f)
type(networks)

>>> dict

with open('networks.json', 'w') as f:
    json.dump(networks, f)

TypeError: Object of type DataFrame is not JSON serializable

【问题讨论】:

    标签: python json pandas dataframe dictionary


    【解决方案1】:

    是的networks 是一个字典,但它的值是pd.DataFrames,因为它们来自pd.read_json;因此错误。您可以在形成键值对时尝试to_json

    networks[re.search(r'network_(.+).json', file).group(1)] = pd.read_json(f).to_json()
    

    但是既然你是reading json,你可能首先使用json模块,例如json.load(f).

    【讨论】:

      猜你喜欢
      • 2022-06-29
      • 2018-07-13
      • 2017-12-26
      • 2014-12-30
      • 2019-01-05
      • 2015-10-29
      • 2021-08-04
      相关资源
      最近更新 更多