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



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

我还想删除左大括号和右大括号。是否有任何特定的分隔或字符串格式属性允许我执行此操作,或者是否有任何其他解决方案?

例如申请后

使用 open(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 中这样做。提前感谢!

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

使用csv模块:

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)

最新更新