【发布时间】:2013-07-09 07:33:18
【问题描述】:
我有一个 DataFrame,想将其输出为 pdf。我目前正在尝试为此使用 ReportLab,但它似乎不起作用。我在这里遇到错误:
mytable = Table(make_pivot_table(data, pivot_cols, column_order, 'criterion'))
make_pivot_table 只是使用 pandas pivot_table 函数返回一个数据透视表。
我得到的错误是
ValueError: <Table@0x13D7D0F8 unknown rows x unknown cols>... invalid data type
我的问题是:
- 有什么方法可以让reportlab 使用DataFrames?
- 如果不是,我可以使用什么包来达到同样的目的?
【问题讨论】:
-
所以问题与 pivot_table 无关?但它是 Table 类,那是什么?您能否举一个表现出这种行为的 DataFrame 的简单示例(它适用于
df = pd.DataFrame([[1, 2], [3, 4]])吗?) -
对不起,是的,这与 DataFrame 而不是 pivot_table 有关。它不适用于您的示例。
-
也许改用那个例子是有意义的(如果我们可以重新创建错误会有所帮助)...
pivot_cols和column_order变量是什么? -
您的示例重新创建了相同的错误。我认为只是 Table 不会采用 DataFrame。我知道 make_pivot_table 返回的只是一个 DataFrame。 Table 文档说它可以接受任何可转换为字符串的东西,我认为这基本上是任何东西。它需要 numpy 数组,所以我认为它也需要 DataFrames。好像没有
-
我也遇到过类似的问题。将 pandas 和 matplotlib 生成的对象输出为 pdf。最终决定自己写,我决定使用乳胶作为 pdf 引擎。 Latex 在几乎所有的格式化任务上都很出色。不得不重写代码以获取 pandas 数据帧(to_latex 方法相当有限)。我必须处理的具体问题是多页 pandas 数据帧到乳胶,以及处理多索引数据帧进入乳胶。我对编码比较陌生,所以我的代码相当不优雅。如果你有兴趣,我很乐意分享我的代码。
标签: python python-2.7 pandas reportlab