【发布时间】:2014-06-02 22:28:09
【问题描述】:
我正在尝试将单个键:值对从 csv 文档格式化为 JSON,并使用 json.dump()。虽然它在大多数情况下似乎运行良好,但它正在将我的整数转换为字符串(或者我可能需要将我的字符串转换为整数,这取决于它的查看方式),这是我不想要的,我也需要一个键:值对变成一个 JSON 数组。
我的代码目前基本上是这样的:
import csv
import json
csvfile = open('spreadsheet.csv', 'r')
jsonfile = open('fileTo.json', 'w')
fieldnames = ("Id","name","TypeId","Type", "listHere")
reader = csv.DictReader( csvfile, fieldnames)
for row in reader:
json.dump(row, jsonfile, sort_keys=True, indent=4, separators=(',', ':'))
jsonfile.write(',')
jsonfile.write('\n')
其中我需要 Id 和 TypeId 为整数,listHere 为 JSON 数组。
目前的输出是这样的:
[
{
"name":"someName",
"Id":"1",
"Type":"someType",
"TypeId":"2",
"listHere":"someList"
},
]
我需要的是:
[
{
"name":"someName",
"Id":1,
"Type":"someType",
"TypeId":2,
"listHere":
[
"someList"
]
},
]
我通读了文档,但并没有真正了解如何使用包含数千个条目的电子表格来执行此操作。任何帮助将不胜感激。谢谢
【问题讨论】:
-
当您使用 csv 模块读取项目时,它们始终显示为字符串值。
-
感谢您的确认,这正是我的想法。