跳到主要内容

写入文件

在较早版本中,这个组件名为 Save File

Write File 组件用于把其他组件生成的数据写入文件。 它支持多种文件格式,并可将文件保存到 SkillFlaw 存储、AWS S3、Google Drive 或本地文件系统。

要在流程中配置并使用 Write File 组件,请按以下步骤操作:

  1. 将其他组件输出的 DataFrameDataMessage 连接到 Write FileInput 端口。

    如果你想把同一份数据生成多个文件、以不同格式保存,或写入多个存储位置,可以把同一个输出同时连接到多个 Write File 组件。

  2. 点击 Storage Location,选择 LocalAWSGoogle Drive。 如有需要,请填写云存储凭证。 详情请参阅配置文件存储

  3. File Name 中输入文件名,必要时可一并填写路径。

    File Name 参数决定文件的保存位置。 它既可以只写文件名,也可以写完整路径:

    • 默认位置:如果只填写文件名,文件会保存到当前本地存储命名空间下,也就是 SkillFlaw 配置的存储目录中。 在默认本地环境下,这通常位于 SKILLFLAW_CONFIG_DIR 下,例如 macOS 中可能是 ~/Library/Caches/skillflaw 之类的路径。

    • 子目录:如果你想把文件保存在子目录中,可以直接在 File Name 里写路径。 若子目录不存在,SkillFlaw 会自动创建。 例如,files/my_file 会在当前本地存储命名空间的 files 子目录中创建 my_file

    • 绝对路径或相对路径:如果你想把文件保存到其他本地位置,也可以直接填写绝对路径或相对路径。 例如,~/Desktop/my_file 会把文件保存到桌面。

    文件名里不要包含扩展名。 如果包含,扩展名会被当成文件名的一部分,而不会覆盖 File Format 参数的设置。

  4. 选择所需的 File Format,然后点击 Close

    可选的 File Format 会根据输入数据类型变化:

    • DataFrame 可保存为 CSV(默认)、Excel(需要 openpyxl 自定义依赖)、JSON(回退默认)或 Markdown。

    • Data 可保存为 CSV、Excel(需要 openpyxl 自定义依赖)、JSON(默认)或 Markdown。

    • Message 可保存为 TXT、JSON(默认)或 Markdown。

    允许覆盖

    如果一个或多个流程中的多个 Write File 组件使用了相同的文件名、路径与扩展名,那么最终文件只会保留最近一次运行写入的数据。 SkillFlaw 不会阻止对现有文件的覆盖。 如果你不希望被覆盖,请确保文件名与路径唯一。

  5. 测试 Write File 组件时,点击 Run component,再点击 Inspect output,查看文件最终保存的路径。

    该组件的直接输出是一个 Message,其中包含原始数据类型、文件名和扩展名,以及根据 File Name 参数得到的文件绝对路径。 例如:


    _10
    DataFrame saved successfully as 'my_file.csv' at /Users/user.name/Library/Caches/skillflaw/<FLOW_ID>/my_file.csv

    如果 File Name 中包含子目录或其他非默认路径,这些信息也会反映在 Message 输出中。 例如,如果文件名是 ~/Desktop/my_file,则某个 CSV 输出可能类似:


    _10
    DataFrame saved successfully as '/Users/user.name/Desktop/my_file.csv' at /Users/user.name/Desktop/my_file.csv

  6. 可选:如果你想在后续流程中继续使用已保存的文件,需要通过 API 调用或其他组件根据这个文件路径再次读取文件。