【问题标题】:How to use to_json in a loop to create json for each key, value pair where key is to json file name and value is dataframe to be converted into json?如何在循环中使用 to_json 为每个键、值对创建 json,其中键是 json 文件名,值是要转换为 json 的数据帧?
【发布时间】:2020-02-22 14:17:41
【问题描述】:

我有字典,键是字符串,值是数据框。我想为字典中的每个df创建一个json,json文件名是df的对应键字符串。

我试过了:

import pandas as pd

df2020=pd.read_csv('areca2020.csv')

df2019=pd.read_csv('areca2019.csv')

df2018=pd.read_csv('areca2018.csv')

df2017=pd.read_csv('areca2017.csv')

df2016=pd.read_csv('areca2016.csv')

df2015=pd.read_csv('areca2015.csv')





mergelist=[df2015,df2016,df2017,df2018,df2019,df2020]

mergeddf=pd.concat(mergelist,sort=False,ignore_index=True)





groupeddf=mergeddf.groupby('market')


group={}
for g1 in groupeddf:
    group['df{0}'.format(g1)]=g1

values=[]

for keys in group:
    values.extend(list(group[keys]))

dfkeys=[x for x in values if type(x) is str]

dfvalues=[x for x in values if type(x) is not str]

dfdict=dict(zip(dfkeys,dfvalues))

dffill={k:v for (k,v) in dfdict.items() if v.shape[0]>500}





for k,v in dffill.items():
    v.to_json('areca{k}.json'.format(k))

但是遇到了错误:

v.to_json('areca{k}.json'.format(k))

KeyError: 'k'

有没有办法实现最终目标?

【问题讨论】:

    标签: python json pandas dataframe


    【解决方案1】:

    没关系,我只需要删除“k”

     for k,v in dffill.items():
        v.to_json('areca{}.json'.format(k))
    

    我的工作目录中有 json 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-09
      • 2019-10-09
      • 2013-05-03
      • 2021-04-03
      • 2020-08-28
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多