1

我一直在尝试找到一种使用 pdfpages 在 pdf 文件中添加数据框的方法。但我还没有找到任何 opt 解决方案。我的数据框有大约 5k 行和 10 列。我如何将其附加到pdf?

我写的代码给出了一个非常模糊和小的df。就像非常非常小,即使放大,也只能看到模糊的东西。使用pdfpages将df添加到pdf的任何最佳方法?

我的代码:

  df1 = data[data['olddate'].dt.date == data['newdate'].dt.date]
    table = pd.DataFrame(df1)
    fig = plt.figure(figsize=(12, 12))
    ax = fig.add_subplot(111)
    cell_text = []
    for row in range(len(table)):
        cell_text.append(table.iloc[row])
    ax.table(cellText=cell_text, colLabels=table.columns, loc='center')
    ax.axis('off')
    export_pdf.savefig(fig)
    plt.close()
4

1 回答 1

2

这里有一个例子,希望它可以帮助:

import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
import numpy as np

with PdfPages('page_pdf.pdf') as pdf:
    table = pd.DataFrame({'a':[1,2,3,4], 'b':[3,4,5,6]})
    header = table.columns
    table = np.asarray(table)
    fig = plt.figure(figsize=(12, 12))
    ax = plt.Axes(fig, [0., 0., 1., 1.])
    ax.set_axis_off()
    fig.add_axes(ax)
    tab = plt.table(cellText=table, colWidths=[0.15, 0.25], colLabels=header, cellLoc='center', loc='center')
    tab.auto_set_font_size(False)
    tab.set_fontsize(30)
    tab.scale(0.7, 2.5)
    pdf.savefig(fig)
    plt.close()

你可以改变大小tab.set_fontsize

于 2019-09-05T11:39:03.317 回答