【问题标题】:How to populate a json file from a list in python如何从python中的列表填充json文件
【发布时间】:2019-04-08 16:36:41
【问题描述】:

我有一个 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]}

我的 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)

【问题讨论】:

    标签: python json python-3.x csv


    【解决方案1】:

    看来你快到了。您可以像这样更新data 字典:

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

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

    【讨论】:

    • 谢谢!它工作得很好。我离得太近了。 :)
    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 2021-04-04
    相关资源
    最近更新 更多