Python 如何从DataRicks显示和下载pptx文件?
我使用Python在databricks中生成了一个带有实用程序脚本的power point deck。我现在想访问内核中的文件,但由于甲板中的图像,它显示了奇怪的符号。如何更正此输出甲板图像的语句Python 如何从DataRicks显示和下载pptx文件?,python,windows,powerpoint,databricks,Python,Windows,Powerpoint,Databricks,我使用Python在databricks中生成了一个带有实用程序脚本的power point deck。我现在想访问内核中的文件,但由于甲板中的图像,它显示了奇怪的符号。如何更正此输出甲板图像的语句 #access file dbutils.fs.head('file:/dbfs/user/test.pptx') Out: 'PK\x03\x04\x14\x00\x00\x00\x08\x00D�lOƯ�g�\x01\x00\x00�\x0c\x00\x00\x13\x00\x00\x00[C
#access file
dbutils.fs.head('file:/dbfs/user/test.pptx')
Out: 'PK\x03\x04\x14\x00\x00\x00\x08\x00D�lOƯ�g�\x01\x00\x00�\x0c\x00\x00\x13\x00\x00\x00[Content_Types].xml͗�N�0\x10��<E�K\x0e�q�\x175��rb�\x04<�I����-ϴзg�.��R�\n_\x12�3���\'Q4霼�:\x1a�GeM�l��$\x02��B�A���]�\x0e�\x08I�Bjk K&��Iw�s7q�\x11\x17\x1b��!�;\x16\x02�!
#访问文件
dbutils.fs.head('文件:/dbfs/user/test.pptx')
输出:“PK\x03\x04\x14\x00\x00\x00\x08\x00D�罗Ư�G�\x01\x00\x00�\x0c\x00\x00\x13\x00\x00\x00[内容类型].xml�N�0\x10��
如何从Datatricks显示pptx文件
要使用以下代码显示来自Datatricks的pptx文件:
from pptx import Presentation
prs = Presentation('/dbfs/myfolder/BRK4024.pptx')
for slide in prs.slides:
for shapes in slide.shapes:
print( shapes.shape_type )
print( '----------------' )
if shapes.has_text_frame:
print( shapes.text )
笔记本示例:
注意:在输出中,您将看到(“,“自选图形”,“图片”),因为python pptx不支持SmartArt。您需要手动将内容插入占位符/自选图形/图片,这将是在python中构建的开销任务
示例:
如何从Datatricks下载pptx文件
您可以使用databricks cli将文件从databricks文件系统下载到本地计算机,如下所示:
dbfs cp dbfs:/myfolder/BRK4024.pptx A:DataSet\
示例:由于我在dbfs上的myfolder中有一个示例BRK4024.pptx文件,所以我使用databricks cli命令复制到本地计算机文件夹名称(a:Dataset)
希望这有帮助
如何从Datatricks显示pptx文件
要使用以下代码显示来自Datatricks的pptx文件:
from pptx import Presentation
prs = Presentation('/dbfs/myfolder/BRK4024.pptx')
for slide in prs.slides:
for shapes in slide.shapes:
print( shapes.shape_type )
print( '----------------' )
if shapes.has_text_frame:
print( shapes.text )
笔记本示例:
注意:在输出中,您将看到(“,“自选图形”,“图片”),因为python pptx不支持SmartArt。您需要手动将内容插入占位符/自选图形/图片,这将是在python中构建的开销任务
示例:
如何从Datatricks下载pptx文件
您可以使用databricks cli将文件从databricks文件系统下载到本地计算机,如下所示:
dbfs cp dbfs:/myfolder/BRK4024.pptx A:DataSet\
示例:由于我在dbfs上的myfolder中有一个示例BRK4024.pptx文件,所以我使用databricks cli命令复制到本地计算机文件夹名称(a:Dataset)
希望这有帮助。只需另外回答部分问题如何从Datatricks显示pptx文件?
当然,我看到@CHEEKATLAPRADEEP-MSFT已经回答了如何使用python-pptx
提取pptx文件的文本内容并显示在dataricks笔记本中
但是,如果您想像博客一样在databricks笔记本中以图像的形式显示pptx文件的整个幻灯片,那么在databricks笔记本中是不可能的,原因如下
Databricks在Linux中运行,因此您无法通过调用MS PowerPoint应用程序的win32
api将pptx文件转换为图像
将pptx转换为图像的现有解决方案需要在正在运行的计算机中安装LibraOffice
,但恐怕您无法在Linux操作系统上为云数据库磁盘安装该解决方案。由于该问题,python-pptx
无法进行转换。即使没有任何Python包可以单独完成这项工作
如果您使用的数据块是一台专用计算机,您可以尝试按照SO线程或中的代码获取pptx文件幻灯片的图像,然后您可以参考数据块文档的一节使用笔记本来显示它们
当然,您也可以将从本地的pptx文件转换的图像上传到云数据库,然后显示它们。但是完全在云数据库上自动执行这些操作似乎是不可能的。只需另外回答部分问题如何从数据库显示pptx文件?
当然,我看到@CHEEKATLAPRADEEP-MSFT已经回答了如何使用python-pptx
提取pptx文件的文本内容并显示在dataricks笔记本中
但是,如果您想像博客一样在databricks笔记本中以图像的形式显示pptx文件的整个幻灯片,那么在databricks笔记本中是不可能的,原因如下
Databricks在Linux中运行,因此您无法通过调用MS PowerPoint应用程序的win32
api将pptx文件转换为图像
将pptx转换为图像的现有解决方案需要在正在运行的计算机中安装LibraOffice
,但恐怕您无法在Linux操作系统上为云数据库磁盘安装该解决方案。由于该问题,python-pptx
无法进行转换。即使没有任何Python包可以单独完成这项工作
如果您使用的数据块是一台专用计算机,您可以尝试按照SO线程或中的代码获取pptx文件幻灯片的图像,然后您可以参考数据块文档的一节使用笔记本来显示它们
当然,您也可以将从本地的pptx文件转换的图像上传到云数据库,然后显示它们。但完全在云数据库上自动完成这些任务似乎是不可能的