将数据帧作为镶木地板文件直接发送到保管箱
Sending dataframe as parquet file directly to dropbox
在我的脚本中,我生成了一个数据框,我想将其作为镶木地板文件直接上传到保管箱。我设法找到了这样的解决方案:
https://gist.github.com/MaxHalford/f17994c77bb775fdd04c9cd925e0b279
这有助于我保存数据框。不过,我真的很想直接发一个parquet文件。
我觉得比较直观的选项:
fileToSave=tempDf.to_parquet('newFile.parquet')
upload_file(dbx, file_location, fileToSave)
但它抛出
TypeError: expected str, bytes or os.PathLike object, not NoneType
知道其他方法吗?
当您调用 fileToSave=tempDf.to_parquet('newFile.parquet')
时,它会将 table 保存在名为 newfile.parquet
和 returns None
的本地文件中
你想做的是:
data = tempDf.to_parquet() # bytes content of the parquet file
dbx.files_upload(
f=data,
path=path,
mode=dropbox.files.WriteMode.overwrite
)
这会将 df 转换为字节(在内存中),然后您可以将其上传到保管箱。
在我的脚本中,我生成了一个数据框,我想将其作为镶木地板文件直接上传到保管箱。我设法找到了这样的解决方案:
https://gist.github.com/MaxHalford/f17994c77bb775fdd04c9cd925e0b279
这有助于我保存数据框。不过,我真的很想直接发一个parquet文件。
我觉得比较直观的选项:
fileToSave=tempDf.to_parquet('newFile.parquet')
upload_file(dbx, file_location, fileToSave)
但它抛出
TypeError: expected str, bytes or os.PathLike object, not NoneType
知道其他方法吗?
当您调用 fileToSave=tempDf.to_parquet('newFile.parquet')
时,它会将 table 保存在名为 newfile.parquet
和 returns None
你想做的是:
data = tempDf.to_parquet() # bytes content of the parquet file
dbx.files_upload(
f=data,
path=path,
mode=dropbox.files.WriteMode.overwrite
)
这会将 df 转换为字节(在内存中),然后您可以将其上传到保管箱。