【发布时间】: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