* 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]
索引:[]
任何帮助将不胜感激。 :)