我有一个脚本,它将excel转换为json并拥有此代码。
l3 = dict( zip(l1.split(','), l2.split(',')) )
print l3
其中l1和l2是列表。
输出是这样的
{'brand': 'car', 'color': 'red', 'model': '2009', 'value': '100000'}
是否可以删除这些键的单引号。
答案 0 :(得分:3)
使用json
module从Python对象创建与JSON兼容的字符串:
>>> import json
>>> l3 = {'brand': 'car', 'color': 'red', 'model': '2009', 'value': '100000'}
>>> json.dumps(l3)
'{"model": "2009", "color": "red", "value": "100000", "brand": "car"}'
(或直接创建JSON文件):
>>> with open("test.json", "w") as j: json.dump(l3, j)
答案 1 :(得分:2)
如上所述,这不是一个有效的json。但是如果你坚持,可以用一些自定义类来完成它:
class NoQuoteReprString(str):
def __repr__(self):
return str(self)
演示:
>>> data = {'brand': 'car', 'color': 'red', 'model': '2009', 'value': '100000'}
>>> no_quote_data = {NoQuoteReprString(k): v for k, v in data.items()}
>>> repr(no_quote_data)
"{color: 'red', brand: 'car', model: '2009', value: '100000'}"
答案 2 :(得分:1)
虽然很容易从字符串中删除引号,但我认为你不应该这样做,因为JSON键应该有双引号。
我认为您应该根据您的要求进行JSON转换using json.dump
or json.dumps
。