如何在python中从列表填充json文件

2024-10-01 13:38:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了一个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

预期结果:

{"Base number":23,"In stock":"Yes","timestamp":[1267398000,1267412400,1267426800],"float1":[1.0,2.0,3.0],"float2":[1.1,2.1,3.1]}

我的phython代码:

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)

Tags: 文件csvimportjsonnumber列表basedatetime
1条回答
网友
1楼 · 发布于 2024-10-01 13:38:52

你好像快到了。您只需更新data字典,如下所示:

data = {
    "Base number": 23,
    "In stock": "Yes",
    "float1": float1,
    "float2": float2,
    "timestamp": dates
}

json转储应该包含您现在创建的列表。还要确保正确打开json文件(只要将jsonFile.json更改为"jsonFile.json"就可以了)

相关问题 更多 >