在python 2.7.1中修改json.dump中的默认分隔符

时间:2017-06-21 10:27:07

标签: python json python-2.7

在json.dump方法(python 2.7.1)中,输出的默认分隔符为(','和':')。我想删除逗号和冒号,以便我的输出简单地用空格分隔。

我还想删除开口和闭合牙箍。是否有分隔符或字符串格式的任何特定属性允许我这样做,还是有其他解决方案?

例如,在应用

之后

打开(foutput,'a')为f1:     json.dump(newdict,f1,sort_keys = True,indent = 4)

我的输出为:

{
    "0.671962000": 51.61292129099999, 
    "0.696699155": 51.61242420999999, 
    "0.721436310": 51.610724798999996, 
    "0.746173465": 51.60536924799999, 
    "0.770910620": 51.58964636499999, 
    "0.795647775": 51.543248571999996, 
    "0.820384930": 51.381941735, 
}

但我想要下面的类型输出而不是:

0.671962000  -28.875564044
0.696699155  -28.876061125
0.721436310  -28.877760536
0.746173465  -28.883116087
0.770910620  -28.898838970

请注意我只想在python中使用它。 提前谢谢!

1 个答案:

答案 0 :(得分:6)

您没有制作JSON,因此不使用JSON模块。您正在生成CSV数据,并使用空格作为分隔符。使用csv module,或使用简单的字符串格式。

使用import csv with open(foutput, 'a', newline='') as f1: writer = csv.writer(f1, delimiter=' ') writer.writerows(sorted(newdict.items())) 模块:

with open(foutput, 'a') as f1:
    for key, value in sorted(newdict.items()):
        f1.write('{} {}\n'.format(key, value)

或仅使用字符串格式:

List<String> runnables = null;
runnables.add("runnable1");
runnables.add("runnable2");
runnables.add("runnable3");