将 pandas 数据帧作为 csv 文件发送到 slack 而不保存

问题描述 投票:0回答:1

我想将 Pandas 数据帧

to_csv()
方法的结果作为文件发布到 slack,但 slack SDK
files_upload()
需要参数
file
中的文件名。这是我的代码:

from slack_sdk import WebClient

client = WebClient(os.environ["slack_token"])

csv_file = df.to_csv()

response = self.client.files_upload(
    file=csv_file,
    initial_comment=message_text,
    thread_ts=thread_ts,
)

此代码的问题在于,该方法将文件竞赛作为文件名,并会引发错误,因为它找不到该文件。

有什么方法可以将变量的文本内容作为文件发送吗?

python pandas slack
1个回答
0
投票

Python 中的 StringIO 模块
“StringIO 模块是一个内存中的类似文件的对象。该对象可以用作大多数需要标准文件对象的函数的输入或输出。”

csv_file = StringIO(df.to_csv())

response = self.client.files_upload(
    file=csv_file,
    initial_comment=message_text,
    thread_ts=thread_ts,
)
© www.soinside.com 2019 - 2024. All rights reserved.