这似乎是一个无用的功能,但它对我非常有帮助.我想保存Canopy IDE中的输出.我不认为这是Canopy特有的,但为了清楚起见,这就是我使用的.例如,我的控制台Out [2]是我想要的:
我认为格式化非常好并且每次重现这一点而不仅仅是保存输出将是浪费时间.所以我的问题是,我怎样才能掌握这个数字呢?理想情况下,实施方式与标准方法类似,因此可以这样做:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('Output.pdf')
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
df.plot(how='table')
pp.savefig()
pp.close()
Run Code Online (Sandbox Code Playgroud)
注意:我意识到之前已经问过一个非常类似的问题(如何将Pandas数据帧/系列数据保存为数字?)但它从未收到答案,我想我已经更清楚地说明了这个问题.
转换:
html = template.render(context)
resultFile = open(filepath, "w+b")
pdf = pisa.CreatePDF(html.encode('utf-8'), dest=resultFile,encoding='utf-8', link_callback=link_callback)
Run Code Online (Sandbox Code Playgroud)
链接回调
def link_callback(uri, rel):
sUrl = settings.STATIC_URL # Typically /static/
sRoot = settings.STATIC_ROOT
mUrl = settings.MEDIA_URL # Typically /static/media/
mRoot = settings.MEDIA_ROOT # Typically /home/userX/project_static/media/
# convert URIs to absolute system paths
if uri.startswith(mUrl):
path = os.path.join(mRoot, uri.replace(mUrl, ""))
elif uri.startswith(sUrl):
path = os.path.join(sRoot, uri.replace(sUrl, ""))
else:
return uri # handle absolute uri (ie: http://some.tld/foo.png)
# make sure that file exists
if not os.path.isfile(path):
raise Exception(
'media …
Run Code Online (Sandbox Code Playgroud)