(Python 3.5) 我想將大型用戶review.json文件(1.3gb)解析爲python並轉換爲.csv文件。我曾嘗試在網上尋找一個簡單的轉換器工具,其中大部分接受最大1Mb的文件大小或超級昂貴。 因爲我相當新的python我想我問2個問題。如何使用python將大型Json文件轉換爲csv
它是甚至可能/有效的,或者我應該尋找另一種方法?
我試過下面的代碼,它只是讀取並寫入我的.json文檔中的頂部342行,然後返回一個錯誤。
Blockquote File "C:\Anaconda3\lib\json__init__.py", line 319, in loads return _default_decoder.decode(s)
文件 「C:\ Anaconda3 \ lib中\ JSON \ decoder.py」,線路342,在解碼 提高JSONDecodeError( 「額外數據」,S,結束) JSONDecodeError:額外數據
這是使用代碼IM
import csv
import json
infile = open("myfile.json","r")
outfile = open ("myfile.csv","w")
writer = csv.writer(outfile)
for row in json.loads(infile.read()):
writer.writerow(row)
我以.json例如:
鏈接到的Json
我的想法小部分是它的某種類型相關的錯誤我的for循環,與json.loads ...但我不知道有足夠的瞭解它。是否可以創建一個字典{}並僅轉換值「user_id」,「stars」,「text」?或者我在做夢。
任何建議或批評表示讚賞。
非常感謝Daniel的回覆。但是,創建的.csv文件的結果只包含Keys not values。(user_id,stars,type,review_id,business_id,votes,date,text)有一種方法可以將值添加到鍵{key:value} ...?我應該嘗試使用字典嗎?因爲我只需要「user_id」,「stars」,「text」的值 –
CSV不是鍵值結構。您需要挑選出您需要的各種數據;例如'data_to_write = [data [「votes」] [「funny」],data [「user_id」],data [「text」]]等等。 –
感謝您的支持+1 –