我有一個 dask 數據幀dask_df,我想將其直接存儲到 S3,而不轉換為 pandas ( dask_df.compute()),因為它太大了。問題是當我嘗試執行以下操作時,字符串 IO 拋出錯誤:import boto3from boto3 import session, clientimport dask.dataframe as ddimport datetimetoday = date.today() client = boto3.client('s3')bucket = 'test-bucket'prefix = 'foldername/'csv_buffer = StringIO()dask_df.to_csv(csv_buffer)filename = 'filename_{}.csv'.format(today)response = client.put_object( ACL = 'private', Body = csv_buffer.getvalue(), Bucket = bucket, Key = prefix+filename )這是我收到的錯誤 -raise TypeError( “url 類型無法理解:%s” % urlpath)類型錯誤:無法理解 url 類型:<_io.StringIO 對象位于 0x7f830e6b5550>
1 回答

精慕HU
TA貢獻1845條經驗 獲得超8個贊
文檔字符串并沒有說你可以寫入 StringIO;確實,你難道不希望這能填滿你的記憶嗎?
幸運的是,Dask 已經為你完成了這項工作,你可以做
dask_df.to_csv("s3://test-bucket/foldername/filename_*.csv")
就是這樣。
添加回答
舉報
0/150
提交
取消