gpt4 book ai didi

python - 基于平台分割数据(来自文本/json文件)(使用Python)

转载 作者:行者123 更新时间:2023-12-01 09:05:19 36 4
gpt4 key购买 nike

这是示例数据(JSON 文件) - JSON 文件填写了完全相同的行,因为此“JSON”文件已准备好上传到 Big Query,正在寻找按平台拆分它的方式。

{"origin": {"detailed": "instagram", "source": "instagram", "platform": "instagram"}.....}
{"origin": {"detailed": "website", "source": "website", "platform": "website"}.....}
{"origin": {"detailed": "forum", "source": "forum", "platform": "forum"}.....}
{"origin": {"detailed": "twitter", "source": "twitter", "platform": "twitter"}.....}
{"origin": {"detailed": "facebook", "source": "facebook", "platform": "facebook"}.....}

我正在寻求根据平台将此数据拆分为不同的文本文件。

if platform = instagram ( but some how it should be - if line contain "platform": "instagram" )
write to post_instagram.json
if platform = facebook
write to post_facebook.json
..............
...................

干净的方法是什么? - 通过使用 PYTHON

示例:

with open(FILE_NAME, "r") as infile:
Data = infileFollow.read()
If statements?
while statement?
.....

with open(FILE_NAME, "w+") as outfile:
outfile.write(Data)

原因:我希望吐出数据,因为无法创建接受不同平台的单一架构,因为不同平台具有额外的重复列,这会破坏一致性,即使我为所有平台创建包含所有列的架构。因此,解决方案需要根据平台拆分数据,以便每个平台都有不同的模式。

最佳答案

也许是这样的:

import json 

json.dump([x for x in data if "instagram" in x["origin"]["platform"]], open("post_instagram.json", "w"))

json.dump([x for x in data if "facebook" in x["origin"]["platform"]], open("post_facebook.json", "w"))

# other platforms ...

如果数据非常庞大,而不是迭代每个“平台”的所有数据:

instagram = []
facebook = []

for d in data:
if "instagram" in d["origin"]["platform"]:
instagram.append(d)
elif "facebook" in d["origin"]["platform"]:
facebook.append(d)

json.dump(instagram, open("post_instagram.json", "w"))
json.dump(facebook, open("post_facebook.json", "w"))

关于python - 基于平台分割数据(来自文本/json文件)(使用Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52111917/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com