合并多个JSON文件并将数据输出到熊猫数据框

时间:2019-06-29 15:10:29

标签: python json pandas dataframe

* Python新手;)

我正在尝试分析大量JSON文件中的数据。 每个文件都包含一个数据集。 (格式为字典)

这是JSON文件的大致结构: {“ attr1”:“ str”,“ attr2”:“ str”,“ attr3”:“ int”,“ attr4”:“ str”} 为简单起见,假设我需要数据框中的attr1和attr3的值。一些值是字符串,有些是整数。

我当前的方法是一个循环,该循环读取每个文件,提取我需要的项目,将它们重新排列在列表中,最后将列表作为新行写入到我的数据框中。

即使阅读了很多帖子,我仍然无法按预期进行。该方法一直工作到将列表写入数据帧为止。因此,数据帧保持为空。

import os                                                                      
import json                                                                    
import pandas as pd                                                            

dir_name = "/dir" 

attributes = []                                                                

df = pd.DataFrame(columns=['attr1', 'attr3'])        

for filename in os.listdir(dir_name):                                    
    if filename.endswith(".json"):                                             
        with open(os.path.join(dir_name, filename),"r") as f:            

            json_data = json.load(f)                                           

            attr1 = json_data['attr1']                                       
            attr3 = json_data['attr3']  

            attributes = []                                                                                                                              
            attributes.append([attr1, attr3])                   

pd.DataFrame.append(df_tweets, other= [attributes])                                                        
print(df)

如上所述,所需的结果将是一个数据帧,该数据帧在每个JSON文件的新行中显示attr1和attr3的内容。

到目前为止,我的方法得出的结果是一个“空数据框”。

  

空DataFrame

     

列:[attr1,attr3]

     

索引:[]

任何帮助将不胜感激。 :)

0 个答案:

没有答案