python
  • json
  • 2017-02-13 73 views 0 likes 
    0

    我試圖分割一個JSON文件,以使其正常工作:JSON file如何切片json文件?

    問題是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文件?

    +0

    我想你可以刪除'VAR國='用sliced_data.replace(「VAR國家=」,「」)',然後就可以使用'json'模塊的'loads'函數將它轉換爲python – Nullman

    回答

    2

    數據從互聯網下載,因此它是字節。所以你需要打開文件爲二進制文件。

    另請注意,您可以通過使用上下文處理程序來縮短事情;你可以做一次過片的兩個部分:

    sliced_data = data[14:-1] 
    
    with f as open(r'file.json', 'wb') 
        f.write(str(sliced_data)) 
    
    0

    如果您解碼爲utf-8,它會將字節字符串轉換爲字符串。

    f.write(sliced_data.decode('utf-8')) 
    
    相關問題