在azured中直接将Python数据帧写入CSV文件

2024-05-20 02:04:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经将一个excel文件导入到pandas数据框中,并完成了数据探索和清理过程。在

我现在想把清理后的数据帧到csv文件写回azuredatalake,而不是先将其保存为本地文件。我用的是熊猫3。在

我的代码如下:

token = lib.auth(tenant_id = '', 
                 client_secret ='', 
                 client_id = '')

adl = core.AzureDLFileSystem(token, store_name)

with adl.open(path='Raw/Gold/Myfile.csv', mode='wb') as f:
    **in_xls.to_csv(f, encoding='utf-8')**
    f.close()

我得到以下粗体的转储语句。在

TypeError:需要类似于对象的字节,而不是“str”

我也试过了,但没有运气

^{pr2}$

我得到以下错误:

TypeError: a bytes-like object is required, not 'DataFrame'

如有任何建议/建议,我们将不胜感激


Tags: 文件csv数据代码clienttokenidpandas
1条回答
网友
1楼 · 发布于 2024-05-20 02:04:13

前几天我用python3.X和pandas一起使用了这个代码,这些代码运行在一台本地机器上,并连接到云中的azure数据存储。在

假设df是pandas数据帧,则可以使用以下代码:

adl = core.AzureDLFileSystem(token, store_name='YOUR_ADLS_STORE_NAME')
      #toke is your login token that was created by whatever ADLS login method you decided.
      #Personally I use the ServiceProvider login
df_str = df.to_csv()
with adl.open('/path/to/file/on/adls/newfile.csv', 'wb') as f:
    f.write(str.encode(df_str))
    f.close()

此键将数据帧转换为字符串,而不是使用结构编码()功能。在

希望这有帮助。在

相关问题 更多 >