如何在python中将文本文件转换为json格式

如何在python中将文本文件转换为json格式,python,Python,如何将第一种格式转换为第二种格式 第一种格式 {"created_at": "2020-12-05 20:49:30 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": &q

如何将第一种格式转换为第二种格式

第一种格式

{"created_at": "2020-12-05 20:49:30 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""}
{"created_at": "2020-12-05 20:48:24 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""}
{"created_at": "2020-12-05 20:47:23 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""}
{"created_at": "2020-12-05 20:46:46 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""}
目标-秒格式

{"data":[{"created_at": "2020-12-05 20:49:30 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""},
{"created_at": "2020-12-05 20:48:24 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""},
{"created_at": "2020-12-05 20:47:23 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""},
{"created_at": "2020-12-05 20:46:46 Pacific Standard Time", "quote_url": "", "video": 0, "thumbnail": "", "near": "", "geo": "", "source": "", "user_rt_id": "", "user_rt": "", "retweet_id": "", "reply_to": [], "retweet_date": "", "translate": "", "trans_src": "", "trans_dest": ""}]}

假设文件如您所述,那么每一行似乎都是有效的JSON

您只需读取文件,在第一位前加上前缀并在最后一位加上逗号即可

lines=['{“data”:[{']#准备好前缀
以open(“/path/to/fileA”,“r”)作为f:
行+=[x.rstrip('\n')+“,\n”表示f.readlines()中的x]#添加带逗号的行
行[-1]=行[-1][:-2]+“]}”
以open(“/path/to/fileB”,“w”)作为f:
f、 写线(行)

当然,使用标准的
json
库可能有更好的方法来实现这一点,但根据您的问题,快速而肮脏的解决方案似乎没有任何问题。

请更具体地说明您需要什么帮助。读取文件?逐行读取文件?创建列表?创建dict?写入正在生成一个文件?请在您的问题中包含您迄今为止所编写的代码。从技术上讲,第一个文件已经是jsonlines格式。请使用Python编写第二种格式和Jason文件的输出,请给您一个小提示:让我们调用当前文件的行
x0
x1
。然后您的新输出是
{“数据”:[x0,x1,x2,x3]}
。我相信你可以从这里开始,或者至少试着问一个具体的问题,关于你正在努力解决的问题……为什么你只是建议将
json
作为一个注释?这应该是一种方法,而不是构建一个奇怪的string@Tomerikoo因为几乎没有理由使用
json
库(这将不必要地解析和格式化输出)当修改如此简单时。OP不希望对数据进行展平/压缩/其他修改。他们只要求进行简单的前缀/后缀转换。根据提出的问题,他们似乎是初学者(在Python或编程方面),所以我的目标是尽可能简单,不引入库,不以复杂的方式解析和转换数据。新用户应该接触新的库,而不是因为他们是初学者而被剥夺它们……第二,在我看来,使用内置的
json
将更容易和更可读,即使对于初学者来说也是如此,但是可能是主观性的谢谢。我刚开始使用Python编程语言,我的新手正确地回答了您的代码。@Tomerikoo用户应该接触新的libs,一旦他们在该语言方面获得了更多的经验。我可以在循环中使用
json.loads
,然后将其吐出,等等。然后我必须使用into关于键顺序的微妙之处取决于所使用的python版本、修复程序、数据没有完全按照读入的方式写入(取决于我无法预见的许多变量)所有的时间都可能是压倒的OP。或者我可以像我一样保持简单的文本操作。不要用JOS启动,C++用Boost,C用函数指针。我的经验-开始简单,构建。