将CSV文件转换为JSON时,我得到如下输出:
{
"id": "8835435",
"userid": "1111",
"key": "diary_notifications",
"setting": "{\n \"standup_reminder\" : false,\n \"weight_reminder_diary\" : true,\n \"weight_reminder_notification\" : false,\n \"meal_reminders_lunch\" : false,\n \"meal_reminders_breakfast\" : false,\n \"meal_reminders_snack\" : false,\n \"weight_reminder_calendar\" : false,\n \"weight_reminder_time\" : false,\n \"meal_reminders_dinner\" : false,\n \"water_reminders\" : false,\n \"walking_reminder\" : false,\n \"sleep_reminder\" : false\n}",
"lastupdated": "2018-03-27 10:48:51",
"creatd": "2014-11-13 15:47:23"
}
如何从setting
中删除换行符,并在Python代码中将字段转换为正确的列表?我的代码是:
import csv
import json
with open('data.csv', 'r') as f:
reader = csv.reader(f)
next(reader)
data = []
for row in reader:
data.append({"id":row[0],"userid":row[1],"key":row[2],"setting":row[3],"lastupdated":row[4],"creatd":row[5]})
with open ("users.json","w") as f:
json.dump(data,f,indent=4)
上面需要添加什么
setting
字段包含一个Json字符串,因此您应该使用json
模块对其进行解析。当然,只有某些行包含Json字符串,而其他行仅包含普通字符串,您应该保护try
块中的json.loads
:它应该给出(或多或少):
相关问题 更多 >
编程相关推荐