saving json files into one single csv

主宰稳场 提交于 2021-01-29 06:06:10

问题


I have 100s of similar json files and I want to save the contents of these json files into one single csv file. This is the code I wrote for the same. But it's not doing what I want to do. Desired output is csv file: https://drive.google.com/file/d/1cgwdbnvETLf6nO1tNnH0F_-fLxUOdT7L/view?usp=sharing

Please tell me what can be done to get the above output? Thanks JSON file format: https://drive.google.com/file/d/1-OZYrfUtDJmwcRUjpBgn59zJt5MjtmWt/view?usp=sharing

list_=['politifact13565', 'politifact13601'] 
for i in list_:
    with open("{}/news content.json".format(i)) as json_input:
        json_data = json.load(json_input, strict=False)
        mydict = {}
        mydict["url"] = json_data["url"]
        mydict["text"] = json_data["text"]
        mydict["images"]=json_data["images"]
        mydict["title"]=json_data["title"]
        df = pd.DataFrame.from_dict(mydict, orient='index')
        df = df.T
        df.append(df, ignore_index=True)
        df.to_csv('out.csv')
        print(df)

SOLVED:

list_=['politifact13565', 'politifact13601'] 
for i in list_:
    with open("{}/news content.json".format(i)) as json_input:
        json_data = json.load(json_input, strict=False)
        mydict = {}
        mydict["url"] = json_data["url"]
        mydict["text"] = json_data["text"]
        mydict["images"]=json_data["images"]
        mydict["title"]=json_data["title"]
        df = pd.DataFrame.from_dict(mydict, orient='index')
        df = df.T
        df.append(df, ignore_index=True)
        df.to_csv('out.csv', mode='a', header=False)
        print(df)

回答1:


Your solution is quite close to the desired output, you just need to transpose the imported json:

import glob
directory = "your/path/to/jsons/*.json"
df = pd.concat([pd.read_json(f, orient="index").T for f in glob.glob(directory)], ignore_index=True)

Aferwards you can save the df using df.to_csv("tweets.csv")
Hopefully that helps you!




回答2:


list_=['politifact13565', 'politifact13601'] 
for i in list_:
    with open("{}/news content.json".format(i)) as json_input:
        json_data = json.load(json_input, strict=False)
        mydict = {}
        mydict["url"] = json_data["url"]
        mydict["text"] = json_data["text"]
        mydict["images"]=json_data["images"]
        mydict["title"]=json_data["title"]
        df = pd.DataFrame.from_dict(mydict, orient='index')
        df = df.T
        df.append(df, ignore_index=True)
        df.to_csv('out.csv', mode='a', header=False)
        print(df)


来源:https://stackoverflow.com/questions/64587587/saving-json-files-into-one-single-csv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!