2

FPDF是一个允许将 pandas 数据框转换为格式良好的 pdf 报告的库。Foundry 代码仓库或代码工作簿中是否有一项功能可以将 pdf 文件从 spark 或 pandas 数据帧写入到 Foundry 中?

我需要从过滤到几行的铸造数据集创建格式良好的 pdf 报告。

在用户https://stackoverflow.com/users/4922673/jackfischer的帮助下,我能够满足要求,但是代码会覆盖现有文件,如何在每次运行代码时使用新文件增量更新数据集. 我正在使用代码工作簿模板功能将参数传递给逻辑,每次传递新参数时,逻辑如何创建新文件

例子 :

  1. 样本文件.txt
  2. 样本文件2.txt
4

1 回答 1

2

虽然我并不特别熟悉 FPDF 库,但 Foundry 支持从转换或代码工作簿中的数据集生成文件。

要从您的数据集创建单个基于 Pandas 的 PDF,请将您的数据集转换为 Pandas 并从 Foundry 获取输出文件句柄,例如。在代码工作簿中,

def pdf_dataset(input_df):
    output = Transforms.get_output()
    pd = input_df.toPandas()
    output_fs = output.filesystem()
        with output_fs.open(output_file_path, "wb") as f:
            # use FDPF as needed

或者,您可以通过 Spark 并行创建每行的 PDF。这可以通过结构化数据来最轻松地完成,这样生成每个 PDF 所需的参数都位于行中,然后您可以从那里运行 Python 函数来生成 PDF 并将其从 Python 内存中写入目标数据集。

在代码工作簿中,这类似于

def pdf_dataset(input_df):
    output = Transforms.get_output()

    def generate_pdf(row):
        output_fs = output.filesystem()
        with output_fs.open(output_file_path, "wb") as f:
            # use FDPF as needed
            
    input_df.rdd.foreach(generate_pdf)

于 2022-01-12T19:10:51.043 回答