📅  最后修改于: 2023-12-03 14:45:06.771000             🧑  作者: Mango
在开发数据报告或生成报表时,很常见的需求就是将这些数据展示成易于阅读的表格。我们可以通过使用 Python 的开源库来生成 PDF 格式的完整统计表格。
以下是生成 PDF 格式的完整统计表格的简单步骤:
pandas
, numpy
, openpyxl
和 fpdf
:!pip install pandas numpy openpyxl fpdf
from fpdf import FPDF
import pandas as pd
import numpy as np
from openpyxl import Workbook
pandas
将数据加载到 DataFrame 中:df = pd.read_excel('data.xlsx')
df = df[df['year'] >= 2010]
df = df[['year', 'state', 'sales']]
df = df.groupby(['year', 'state']).sum()
data = df.values.tolist()
pdf = FPDF()
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(190, 10, 'Sales Report', ln=1, align='C')
pdf.set_font('Arial', '', 12)
col_width = pdf.w / 4.5
row_height = pdf.font_size * 1.5
for row in data:
for datum in row:
pdf.cell(col_width, row_height, str(datum), border=1)
pdf.ln(row_height)
完整的代码如下:
from fpdf import FPDF
import pandas as pd
import numpy as np
from openpyxl import Workbook
df = pd.read_excel('data.xlsx')
df = df[df['year'] >= 2010]
df = df[['year', 'state', 'sales']]
df = df.groupby(['year', 'state']).sum()
data = df.values.tolist()
pdf = FPDF()
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(190, 10, 'Sales Report', ln=1, align='C')
pdf.set_font('Arial', '', 12)
col_width = pdf.w / 4.5
row_height = pdf.font_size * 1.5
for row in data:
for datum in row:
pdf.cell(col_width, row_height, str(datum), border=1)
pdf.ln(row_height)
pdf.output('sales_report.pdf')
使用以上代码将数据保存为 PDF 文件,您将获得类似下面的完整统计表格:
| Year | State | Sales | |------|-------|-------| | 2010 | CA | 26250 | | 2010 | NY | 22413 | | 2011 | CA | 31587 | | 2011 | NY | 23826 | | 2012 | CA | 36283 | | 2012 | NY | 25695 |
此表格将根据 "年份" 和 "州" 展示销售数据。
生成 PDF 格式的完整统计表格可以帮助在数据报告或生成报表时更好地展示数据。可以使用 Python 的多个库来实现这个目的,本文将使用 pandas
、numpy
、openpyxl
和 fpdf
库。