如何切片json文件?

时间:2017-02-13 20:01:33

标签: python json

我试图切片json文件以使其正常工作:JSON file

问题是json文件以var Nations =开头。

var Nations = {"Nations":[{"Name":"Neutral","CanBeUsedAsBotFiller":false,....

所以我试图通过将其切掉并再次保存来摆脱它:

import urllib.request

urlData = 'http://storage.googleapis.com/nacleanopenworldprodshards/Nations_cleanopenworldprodeu1.json'
webURL = urllib.request.urlopen(urlData)
data = webURL.read()
sliced_data = data[14:][:-1]

f = open(r'file.json', 'w')
f.write(str(sliced_data))
f.close()

但保存的文件显示b'

b'{"Nations":[{".....

如何正确摆脱它并拥有一个可以在Python中使用的json文件?

2 个答案:

答案 0 :(得分:2)

数据是从互联网上下载的,因此是字节数。所以你需要打开文件为二进制文件。

另请注意,您可以通过使用上下文处理程序来缩短范围;你可以一次完成切片的两个部分:

sliced_data = data[14:-1]

with f as open(r'file.json', 'wb')
    f.write(str(sliced_data))

答案 1 :(得分:0)

如果解码为utf-8,它会将字节字符串转换为字符串。

f.write(sliced_data.decode('utf-8'))