目前我正在使用下面的代码将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))
在追加到列表之前将所有空字符串转换为None
。
for row in csvReader:
row = {key: (None if value == "" else value) for key, value in row.items()}
data.append(row)
PythonNone
被翻译成 JSONnull
。
顺便说一句,您可以使用json.dump(jsonFile, data, indent=4)
而不是分别调用jsonFile.write()
和json.dumps()
。