python - Python:根据名称组合pdf
问题描述
我编写了一些代码,为我的数据框中的每一列创建不同图形的 pdf。pdf 保存在保存代码的同一文件夹中。我使用列名和图形类型描述的组合保存了 pdf。我已经包含了一种图表的样本。此图另存为“columnname_histogram.pdf”
############################# HISTOGRAM ###############################################
palette = sns.color_palette(palette=sns.crayon_palette(sns.colors.crayons))
new_palette = itertools.cycle(palette)
for i in data: # Loop over all columns
k =data[i].astype(float) #Changing to float
sns.set() #defaults the background
fig, ax = plt.subplots()
sns.set(style="ticks") #darkens grid lines
sns.distplot(k,color=next(new_palette)) #sets which column to use
sns.despine(offset=10, trim=True)
fig.set_size_inches(18,12)
ax.set_title('{} Histogram'.format(i), fontweight='bold') #sets chart title based on column
plt.savefig('{}_hist.pdf'.format(i), bbox_inches='tight') #sets file name based on column name
除了直方图,我还有一个小提琴图和历史线图,它们具有相同的命名约定。
我的问题是,如何获取这些单独的 pdf 并将它们放入一个 pdf 以便于查看?我正在尝试将具有相同列名的所有 pdf 放入一个文档中。我可以遵循任何建议或示例代码吗?我没有任何运气尝试自己。
谢谢!
解决方案
如果您有一个可用于识别要合并的 pdf 的已定义模式,您可以使用 PyPDF2 将文件合并在一起:
from PyPDF2 import PdfFileMerger
import os
colnames = ["col1", "col2"] # list of column names
for colname in colnames:
filemerger = PdfFileMerger()
for file in os.listdir("/yourpdfdir"):
if file.endswith(".pdf") and file.startswith(colname):
filemerger.append(file)
filemerger.write(colname+"_combined.pdf")
filemerger.close()
推荐阅读
- javascript - 错误:SecurityError:URL 中的字符无效:
- java - get() 和 addListenerForSingleValueEvent 有什么区别?
- php - 在 PHP 渐进式 Web 应用程序上未检测到清单
- azure - 用于旧 Java SDK 的容器上的 Azure WORM/不可变保留锁定
- firefox - 如何在 Firefox 调试中找到丢失的图像
- reactjs - 如何使用 React 表单输入事件处理程序?
- asp.net-core - 参数绑定到 ASP.NET MVC Core 中的路由或查询字符串
- sharepoint-online - 如何在 Webpart 属性 spfx 的下拉列表中获取 SharePoint 在线网站中存在的各种列表
- python - 如何让这个函数接受可以是浮点数、数组或列表的值?
- node.js - 如何使用带有 .ts 文件类的某些输入的 npm 包?