我在python中使用一个简单的csv到json脚本,并且已经使用此命令成功将CSV转换为JSON ...
csvFilePath = ("x.csv")
# Read the CSV and add the data to a dictionary
data = {}
with open(csvFilePath) as csvFile:
csvReader = csv.DictReader(csvFile)
for csvRow in csvReader:
objectid = csvRow["objectid"]
data[objectid] = csvRow
d = csvrow
# Converts dictionary to JSON list
json_string = json.dumps([data], indent = 4)
生成的JSON看起来像这样...
[
{
"15494": {
"status": "Open",
"site_name": "Healthpromed Municipality of Vieques",
"objectid": "15494",
"utilities": "No",
"site_dashboard_surrogate_key": "BPS-H80-019569",
"supplies": "No",
"structural": "No",
"staff": "No"
},
"1": {
"status": "Closed",
"site_name": "PUBLIC HEALTH AND HUMAN SERVICES, MONTANA DEPARTMENT OF",
"objectid": "1",
"utilities": "No",
"site_dashboard_surrogate_key": "010478A2-14EF-4B7B-84A0-2618F311D82F",
"supplies": "No",
"structural": "No",
"staff": "No"
}
}]
我需要更改由“ objectid”设置为“ attributes”的节点名称(即“ 15494”,“ 1”)的帮助
我想要的代码应如下所示:
[
{
"attributes": {
"status": "Open",
"site_name": "Healthpromed Municipality of Vieques",
"objectid": "15494",
"utilities": "No",
"site_dashboard_surrogate_key": "BPS-H80-019569",
"supplies": "No",
"structural": "No",
"staff": "No"
},
"attributes": {
"status": "Closed",
"site_name": "PUBLIC HEALTH AND HUMAN SERVICES, MONTANA DEPARTMENT OF",
"objectid": "1",
"utilities": "No",
"site_dashboard_surrogate_key": "010478A2-14EF-4B7B-84A0-2618F311D82F",
"supplies": "No",
"structural": "No",
"staff": "No"
}
}]
有任何想法吗?我机智地在这里结束。我试图在for循环中将objectid = csvRow [“ objectid”]替换为[“ attributes”],但它只会覆盖第一个条目。
最佳答案
未经测试,但我想这是根据ArcGIS REST API文档所需要的。希望能对您有所帮助:)
csvFilePath = ("x.csv")
# Read the CSV and add the data to a dictionary
data = [] # make it a list
object = {} # initialize a dictionary
with open(csvFilePath) as csvFile:
csvReader = csv.DictReader(csvFile)
for csvRow in csvReader:
object['attributes'] = csvRow["objectid"] # create dictionary
data.append(dict(object)); # append every dictionary to list
d = csvrow
# Converts dictionary to JSON list
json_string = json.dumps(data, indent = 4) # make json dump your list of dictionary
关于python - 在python中将CSV转换为JSON时如何控制节点名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56794920/