【发布时间】:2021-03-31 17:53:11
【问题描述】:
我正在尝试从我的 json 输出中删除一些键、值,但似乎没有任何效果。
代码解决方案基本上是将csv转换为json,然后从中删除不需要的键。
import csv, json
import pandas as pd
import os
def make_json(csvFilePath, jsonFilePath):
data = {}
with open(csvFilePath, encoding='utf-8') as csvf:
csvReader = csv.DictReader(csvf)
for rows in csvReader:
key = rows['ipadd']
data[key] = rows
#used del but not working as expected
#del data['number']
with open(jsonFilePath, 'w', encoding='utf-8') as jsonf:
jsonf.write(json.dumps(data, indent=4))
csvFilePath = r'csvfile.csv'
jsonFilePath = r'demo.json'
make_json(csvFilePath, jsonFilePath)
我试过del data['key_name']。
想在创建 json 之前操作 csv,但是 key 不能用于创建 json。
{
"some_random_key": {
"number": "12345",
"ipadd": "some_random_key",
"version": "0",
"name": "superman",
"devicename": "0",
"osversion": "0"
},
"some_random_key2": {
"number": "54321",
"ipadd": "some_random_key2",
"version": "0",
"name": "batman",
"devicename": "0",
"osversion": "0"
}
}
预期结果:
{
"some_random_key": {
"version": "0",
"name": "superman",
"devicename": "0",
"osversion": "0"
},
"some_random_key2": {
"version": "0",
"name": "batman",
"devicename": "0",
"osversion": "0"
}
}
【问题讨论】:
-
我尝试使用 del data['key_name']。考虑在创建 json 之前操作 csv,但随后无法创建 json 的密钥 - 复制字典。