2017-10-11 83 views
-3

我需要將一個Dataframe(轉換爲JSON格式)寫入文件。這可以用一個班輪df.to_json()很容易地完成。當我將它寫入文件時會出現問題,因爲我需要將其他數據框追加到同一個文件中。 如何可以高效地完成將數據幀轉換爲json並將其寫入文件並將新的數據幀添加到該文件

我使用的數據幀的方法df.to_json(orient='records',path_or_buf='filepath')

現在,如果我要被添加到該文件只那麼它是如何實現的另一個數據框(寫入文件,沒有它加載到內存)

+0

對不起,但追加數據框到JSON是沒有聽說過。 Json是以某種方式合成的字符串。我建議你等待輸出,直到你的數據框完整(使用pd.concat或類似的我猜) –

+0

僅以Json格式附加數據幀。不是字面上的數據框。其實我從S3獲取數據,然後將其轉換爲數據幀,在清理後需要將其寫入磁盤。隨着下一次獲取迭代,我必須將數據追加到同一個文件中。所以後來我可以在python Dataframe中讀取整個數據並工作。 –

回答

0

下面的代碼實現了我想要做的。

 filename='UserData' 
     if os.path.isfile(filename): 
      dicts=userData.to_dict(orient='records') 
      f = open(filename,"r+") 
      f.seek(-1,2) 
      f.write(json.dumps(dicts).replace('[',',',1)) 
      f.close() 
     else: 
      dicts = userData.to_dict(orient='records') 
      f = open(filename,"w") 
      f.write(json.dumps(dicts)) 
      f.close() 

所以,如果filename存在,那麼,文件句柄將被定位到最後,並保持JSON結構[,所取代。

相關問題