我有一個json文件的文件夾,我想解析特定的鍵值對。然後將這些對添加到字典中,然後將該字典(作爲json的行)輸出到新的json文件。我目前無法獲取我的文件夾中的文件進行分析,更不用說將分析後的數據彙集到字典中進行打印。這裏是我的代碼:如何通過解析json文件的文件夾然後輸出到單個文件
import json, os
FbDict=[]
topdir=os.getcwd()
def main():
for root, dirs, files in os.walk(topdir):
for f in files:
if f.lower().endswith((".json")):
json_data = open(f, 'r+').read().decode("utf-8")
jdata = json.loads(json_data)
fname=f.split(".json")[0]
for k, v in jdata.items():
if isinstance(v, dict):
try:
dataFormat = {"created_at":v['data'][0]['created_time'],"user":v['data'][0]['from']['id'],
"id":v['data'][0]['id'],"name":v['data'][0]['from']['name'],"text":v['data'][0]['message']}
FbDict.append(json.dumps(dataFormat, separators=(',', ':')))
except KeyError:
continue
if __name__ == '__main__':
main()
with open ('fbFile', 'w') as f:
f.write(FbDict)
什麼是你的代碼錯誤?它會產生錯誤嗎?它運行但產生錯誤的輸出? – larsks
@larsks哦,是的。它給了我[errno 2] - 沒有這樣的文件或目錄,並列出了一個不在文件夾中但在記事本中打開的文件。我不明白這段代碼是如何通過不屬於該文件夾的其他文件進行排序的? – user2338089