为了账号安全,请及时绑定邮箱和手机立即绑定

将 json 文件保存到一个 csv 中

将 json 文件保存到一个 csv 中

慕桂英546537 2024-01-27 16:30:42
我有 100 个类似的 json 文件,我想将这些 json 文件的内容保存到一个 csv 文件中。这是我为此编写的代码。但这并没有做我想做的事。所需的输出是 csv 文件: https: //drive.google.com/file/d/1cgwdbnvETLf6nO1tNnH0F_-fLxUOdT7L/view ?usp=sharing请告诉我怎样才能得到上面的输出?谢谢 JSON 文件格式:https://drive.google.com/file/d/1-OZYrfUtDJmwcRUjpBgn59zJt5MjtmWt/view ?usp=sharinglist_=['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)解决了: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)
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

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)


查看完整回答
反对 回复 2024-01-27
?
MYYA

TA贡献1868条经验 获得超4个赞

您的解决方案非常接近所需的输出,您只需转置导入的 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)

之后您可以使用保存 dfdf.to_csv("tweets.csv")

希望这对您有帮助!


查看完整回答
反对 回复 2024-01-27
  • 2 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信