python生成json_在python中创建JSON对象

我试图创建一个JSON对象并将其附加到列表中,但没有成功。

我得到这个错误信息的原因是:Traceback (most recent call last):

File "/projects/circos/test.py", line 32, in

read_relationship('data/chr03_small_n10.blast')

File "/projects/circos/test.py", line 20, in read_relationship

tmp = ("[source: {id: '{}',start: {},end: {}},target: {id: '{}',start: {}, end: {}}],").format(parts[0],parts[2],parts[3],parts[1],parts[4],parts[5])

KeyError: 'id'

使用以下代码def read_relationship(filename):

data = []

with open(filename) as f:

f.next()

for line in f:

try:

parts = line.rstrip().split('\t')

query_name = parts[0]

subject_name = parts[1]

query_start = parts[2]

query_end = parts[3]

subject_start = parts[4]

subject_end = parts[5]

# I need: [source: {id: 'Locus_1', start: 1, end: 1054}, target: {id: 'tig00007234', start: 140511, end: 137383}],

tmp = ("[source: {id: '{}',start: {},end: {}},target: {id: '{}',start: {}, end: {}}],").format(parts[0],parts[2],parts[3],parts[1],parts[4],parts[5])

data.append(tmp)

except ValueError:

pass

with open('data/data.txt', 'w') as outfile:

json.dump(data, outfile)

read_relationship('data/chr03_small_n10.blast')

我错过了什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值