У меня есть файл CSV, который я хочу переупорядочить определенным образом, а затем сохранить как JSON.
Я смог поместить информацию из CSV-файла в списки Python. Проблема возникает, когда я пытаюсь заполнить файл Json. Я не понимаю, как добавить содержимое списков в файл JSON.
CSV-файл:
2010.03.01,00:00,1.0,1.1
2010.03.01,04:00,2.0,2.1
2010.03.01,08:00,3.0,3.1
Желаемый результат JSON:
{"Base number":23,"In stock":"Yes","timestamp":[1267398000,1267412400,1267426800],"float1":[1.0,2.0,3.0],"float2":[1.1,2.1,3.1]}
Мой фитон код:
import csv
import json
import datetime
dates = []
float1 = []
float2 = []
with open(csvFile.csv) as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
#Date and time to timestamp
timestamp = int(datetime.datetime.strptime(' '.join([row[0], row[1]]), '%Y.%m.%d %H:%M').timestamp())
dates.append(timestamp)
#Float value
float1.append(float(row[2]))
float2.append(float(row[3]))
data = {
"Base number": 23,
"In stock": "Yes",
}
with open(jsonFile.json, 'w') as outfile:
json.dump(data, outfile)
Кажется, ты почти у цели. Вы можете просто обновить словарь data
следующим образом:
data = {
"Base number": 23,
"In stock": "Yes",
"float1": float1,
"float2": float2,
"timestamp": dates
}
Дамп json должен содержать списки, которые вы создали сейчас. Также убедитесь, что вы правильно открываете файл json (просто изменение jsonFile.json
на "jsonFile.json"
должно работать)
Спасибо! Он отлично работает. Я был так близко. :)