【问题标题】:Empty cells become "" when converting CSV to JSON - Python将CSV转换为JSON时,空单元格变为“” - Python
【发布时间】:2020-06-08 20:01:37
【问题描述】:

目前我正在使用下面的代码将 CSV 转换为 JSON。问题是,返回为 CSV 中的空值放置空字符串。我需要这些为空才能使 api 调用正常工作。

如何为 CSV 中的空白值获取 null?

def csvToJson(tokenHeader):
    data = []
    with open('CSV/quiz-questions.csv') as questionFile:
        csv.field_size_limit(sys.maxsize)
        csvReader = csv.DictReader(questionFile, quoting=csv.QUOTE_MINIMAL)
        for row in csvReader:
            data.append(row)

    with open('JSON/questions.json', 'w+') as jsonFile:
        jsonFile.write(json.dumps(data, indent=4))

【问题讨论】:

    标签: python json csv null


    【解决方案1】:

    在追加到列表之前将所有空字符串转换为None

    for row in csvReader:
        row = {key: (None if value == "" else value) for key, value in row.items()}
        data.append(row)
    

    Python None 被转换为 JSON null

    顺便说一句,您可以使用json.dump(jsonFile, data, indent=4) 而不是分别调用jsonFile.write()json.dumps()

    【讨论】:

    • 这种方法对我来说很有意义,但语法不起作用。
    • 我在字典理解中有错字。
    • 非常酷的解决方案和奖励信息。感谢您的帮助!
    猜你喜欢
    • 2017-05-19
    • 1970-01-01
    • 2014-06-06
    • 2012-11-30
    • 2015-08-07
    • 1970-01-01
    • 2015-03-26
    • 2012-12-01
    • 1970-01-01
    相关资源
    最近更新 更多