拆分json python列表数据值

时间:2018-01-13 22:44:14

标签: python bioinformatics

我目前正在尝试拆分一个json文件(python list),如下所示:

liftOver = {"/
Contig1863": [["ref0000283e3", "-", 3681], ["ref0000283e3_ref0000283e5", "-", 7468]], "/
Contig1862": [["ref0001167e3_ref0001167e5", "-", 13438]], "/
Contig1861": [["ref0001923e3_ref0001923e5", "-", 13221]], "/
Contig1860": [["ref0000920e3", "+", 769], ["ref0000920e3_ref0000920e5", "-", 6640]], "/
Contig1867": [["ref0001036e3_ref0001036e5", "-", 14133]], "/
Contig1866": [["ref0000256e3_ref0000256e5", "+", 11744]], "/
Contig1865": [["ref0001172e3_ref0001172e5", "+", 8445]], "/
Contig1864": [["ref0000694e3_ref0000694e5", "-", 26308]], "/
Contig1869": [["ref0001325e5", "-", 396], ["ref0001325e3_ref0001325e5", "+", 17739]], "/
Contig1868": [["ref0001621e5", "+", 3742], ["ref0001621e3_ref0001621e5", "+", 14315]], " }

我只需打印第一个键值(即ref0000 *),包括键(Contig *),然后用('_')分割这些键值。有人有任何想法吗?这对我来说似乎不起作用。我的代码是:

for key, value in liftOver.iteritems():
    lift_split=[liftOver.split("[_]") for value in liftOver.values()]
    print(lift_split)

AttributeError:'dict'对象没有属性'split'

1 个答案:

答案 0 :(得分:1)

liftOver = {"Contig1863": [["ref0000283e3", "-", 3681], ["ref0000283e3_ref0000283e5", "-", 7468]], 
"Contig1862": [["ref0001167e3_ref0001167e5", "-", 13438]], 
"Contig1861": [["ref0001923e3_ref0001923e5", "-", 13221]], 
"Contig1860": [["ref0000920e3", "+", 769], ["ref0000920e3_ref0000920e5", "-", 6640]], 
"Contig1867": [["ref0001036e3_ref0001036e5", "-", 14133]], 
"Contig1866": [["ref0000256e3_ref0000256e5", "+", 11744]], 
"Contig1865": [["ref0001172e3_ref0001172e5", "+", 8445]], 
"Contig1864": [["ref0000694e3_ref0000694e5", "-", 26308]], 
"Contig1869": [["ref0001325e5", "-", 396], ["ref0001325e3_ref0001325e5", "+", 17739]], 
"Contig1868": [["ref0001621e5", "+", 3742], ["ref0001621e3_ref0001621e5", "+", 14315]]}

for key, value in liftOver.items():
    vals = [item[0] for item in value]
    print(key, ' '.join(vals))

以上输出:

Contig1864 ref0000694e3_ref0000694e5
Contig1868 ref0001621e5 ref0001621e3_ref0001621e5
Contig1861 ref0001923e3_ref0001923e5
Contig1869 ref0001325e5 ref0001325e3_ref0001325e5
Contig1860 ref0000920e3 ref0000920e3_ref0000920e5
Contig1862 ref0001167e3_ref0001167e5
Contig1866 ref0000256e3_ref0000256e5
Contig1863 ref0000283e3 ref0000283e3_ref0000283e5
Contig1865 ref0001172e3_ref0001172e5
Contig1867 ref0001036e3_ref0001036e5

我不确定我是否确实理解了你的问题。