从 s3 读取 .pptx 文件

2023-12-20

我尝试从 Amazon S3 打开 .pptx 并使用 python-pptx 库读取它。这是代码:

from pptx import Presentation
import boto3
s3 = boto3.resource('s3')

obj=s3.Object('bucket','key')
body = obj.get()['Body']
prs=Presentation((body))

它给出“AttributeError:'StreamingBody'对象没有属性'seek'”。这不应该起作用吗?我怎样才能解决这个问题?我还尝试首先在 body 上使用 read() 。 有没有不实际下载文件的解决方案?


要从 S3 加载文件,您应该下载(或使用流策略)并使用io.BytesIO将您的数据转换为pptx.Presentation可以处理。

import io
import boto3

from pptx import Presentation

s3 = boto3.client('s3')
s3_response_object = s3.get_object(Bucket='bucket', Key='file.pptx')
object_content = s3_response_object['Body'].read()

prs = Presentation(io.BytesIO(object_content))

ref:

Just like what we do with variables, data can be kept as bytes in an in-memory buffer when we use the io module’s Byte IO operations. 期刊开发 https://www.journaldev.com/19178/python-io-bytesio-stringio

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 s3 读取 .pptx 文件 的相关文章

  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 在 S3 中迭代对象时出现“ConnectionPoolTimeoutException”

    我已经使用 aws java API 一段时间了 没有遇到太多问题 目前我使用的是库 1 5 2 版本 当我使用以下代码迭代文件夹内的对象时 AmazonS3 s3 new AmazonS3Client new PropertiesCred
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • 为什么 CloudFront 根据 Accept-Encoding 改变 CORS 标头响应?

    我正在尝试让 CORS 与 Amazon S3 CloudFront 一起正常工作 设置我的 CORS 配置后 它似乎可以正常工作 curl H Origin https app close io I https d4389n07pf8cq
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数

随机推荐

  • Fedora 22 - 编译 - __atomic_is_lock_free

    我尝试在 Fedora 22 上编译一个软件 SuperCollider 但遇到了一个问题 libsupernova a server cpp o In function std atomic
  • 如何替换浏览器默认快捷键

    根据一些问题 https stackoverflow com questions 11656887 disable browser shortcut keys我发现如何防止组合键 但我想定义一个快捷键 一种方法是使用bind jQuery
  • 在 hta 文件中使用文件输入元素可防止删除选定的文件

    如果使用 type file 的输入 html 元素来选择文件 则 hta 程序无法删除该文件 此 MVCE 可以工作 但不使用文件对话框 您必须手动输入文件名
  • 使用顶点/像素着色器进行通用计算(Open GL / DirectX)

    我有一个关于计算着色器的问题 DX 9 中提供计算着色器吗 如果 GPU 上没有计算着色器片段 是否仍然可以使用带有 DX9 驱动程序的计算着色器 SGX 545 没有 但 SGX 6X 一代将会有 据 IMG 所说 我想知道我是否可以使用
  • 根据属性中的值显示/隐藏多个 div

    我之前问过这个问题 但我想也许我措辞不正确 我得到的答案是如何在单击按钮时显示 隐藏一组 div 我明白如何做到这一点 然而我的问题有点不同 这次我试图提出一个更详尽的问题 我有一堆显示图像的 div div div
  • Eclipse C printf() 失败

    我刚刚安装了用于 c 的 Eclipse 但遇到了问题printf 功能 我的代码应该以打印 给出号码 开始 但事实并非如此 如果我输入 4 这就是我得到的 4 Give the number I am number 1 I am numb
  • 记录语法:验证构造函数中的内容

    我有一个包含 12 个值的记录 有一些值的组合无效 因此我希望构造函数检查这一点 我只知道如何创建接受参数列表的构造函数 但是对于 12 个值来说这并不是很漂亮 因此 我想在构造值后使用该值时使用记录语法 如何在构造函数中强制执行约束并仍然
  • 如何提高 MySQL 转储恢复的性能

    我们中的许多人在处理家庭或宠物项目以及使用数据库存储结构化数据时可能会在尝试转储 恢复数据时遇到性能问题 坐等另一个转储恢复操作几十分钟甚至几个小时可能会很烦人 我有非常典型的机器规格 4 核 i5 7300 8 Gb RAM 相当快的 M
  • Asp.net Core Linq 查询花费太多时间

    我有一个 linq 查询 需要 31 秒 这是我第一次收到这么晚的询问 我不知道该怎么办 让我向您展示我的查询 public IEnumerable
  • 打开相机胶卷上的精确照片

    我正在开发一个相机应用程序 我想在其中添加一些已存在于库存应用程序中的功能 我的问题是复制左下角的小方块 纵向模式 其中显示用户刚刚拍摄的照片的微缩略图 然后 当用户点击它时 照片应用程序应该在相机胶卷中保存的最后一张照片上打开 我可以使用
  • 如果它是外部链接,如何将 rel = "nofollow" 添加到 CKEditor 中的链接

    我想给rel nofollow 到我的外部链接 其内容由 ckeditor 管理 example com 我的网站 externallink com 任何外部链接 例如 p Lorem a href https example com an
  • 在 Windows 上为 Ant 设置 Java 路径

    刚刚下载了最新版本的 Ant 并安装在 C apache ant 1 8 4 我将以下内容添加到环境路径变量中 C apache ant 1 8 4 bin 当我打开终端窗口并键入 ant version I get Files Java
  • 使用 Microsoft Visual Studio Code 进行 Java 编程

    I downloaded language support for Java by Red Hat in Microsoft Visual Studio Code 但我遇到了如上图所示的问题 所以我尝试在中设置我的JDK路径settings
  • 在 Ruby 中从文本文件中提取选定的数据

    现在我正在用 Ruby 从文本文件中提取信息 那么如何从以下文本文件中提取数字 0 6748984055823062 sentiment analysis positive sentiment Popular topic games sco
  • 如何在 Vue.js 中动态构建路由器链接?

    我正在尝试在 Vue js 中执行以下操作 table tr td td tr table
  • C# linq 联合问题

    有人可以解释一下怎么做吗Union在 LINQ 工作中 据说它合并了两个序列并且删除重复项 但是我可以以某种方式自定义重复删除行为吗 假设我希望使用来自the second sequence如果有重复或来自the first sequenc
  • 绘图中的自定义离散色阶

    我想自定义颜色plotly阴谋 这对于连续变量和尺度来说效果很好docs https plot ly r user guide sequential color mappings library plotly plot ly iris x
  • natbib 似乎无法与 pdf_book / rticles 正常工作

    在我的 Rmd 文件中 我引用 bib 文件中的位置如下 让我引用一篇文章 SampleTitle2016 当我 编织当前 时 我想要 tex 文件 其中对文章的引用由 cite citep 或 citet 命令提供 我注意到 如果我在输出
  • 我可以本地化 UIDatePicker 吗?

    我正在尝试本地化 UIDatePicker 苹果的文档说它应该自动检测当前的区域设置 但无论我选择哪种语言 语言都保持不变 我需要做什么 区域设置属性 以及与此相关的所有其他国家 地区特定格式属性 默认为由返回的值当前区域设置 http d
  • 从 s3 读取 .pptx 文件

    我尝试从 Amazon S3 打开 pptx 并使用 python pptx 库读取它 这是代码 from pptx import Presentation import boto3 s3 boto3 resource s3 obj s3