【发布时间】:2020-06-12 02:48:59
【问题描述】:
我有一个文本文件 (record.txt),其内容如下:
12-34,Doe,John:Art101,98:History201,56
56-78,Smith,Bob,bobsmith@email.com:Calculus300,45:Economics214,78:ECE415,84
电子邮件字段是可选的,因此可能会或可能不会包含每个人。
这就是 JSON 格式的样子:
[{
"id": "12-34", "lastname": "Doe", "firstname": "John",
"classes":[{
"classname":"Art101", "grade":"98"},{
"classname":"History201","grade":"56"}]
},
{
"id": "56-78", "lastname": "Smith", "firstname": "Bob",
"email":"bobsmith@email.com,
"classes":[{
"classname":"Calculus300", "grade":"45"},{
"classname":"Economics214","grade":"78"},
"classname":"ECE415", "grade":"84"}]
}]
我是 Python 和 JSON 的新手,所以我很难思考如何以电子邮件可以作为可选字段的方式转换内容,以及如何为每个人序列化类。经过多次尝试,我无法将数据转换为 JSON。
任何有关如何解决此问题的建议或意见将不胜感激。
提前致谢!
【问题讨论】:
-
到目前为止您尝试过什么?给我们看一些代码!
-
获取行并首先在
:上拆分,然后在,上拆分每个元素。您可以使用len()检查第一部分是否有 3 个或 4 个元素 - 如果 4 则有电子邮件。
标签: python json serialization