pandas 数据帧上的 s3fs gzip 压缩

2024-02-07

我正在尝试使用以下方法在 S3 上将数据帧写入为 CSV 文件s3fs https://github.com/dask/s3fs图书馆和熊猫。 尽管有文档,但我担心 gzip 压缩参数不适用于 s3fs。

def DfTos3Csv (df,file):
    with fs.open(file,'wb') as f:
       df.to_csv(f, compression='gzip', index=False)

此代码将数据帧保存为 S3 中的新对象,但以纯 CSV 格式而不是 gzip 格式保存。 另一方面,使用此压缩参数,读取功能可以正常工作。

def s3CsvToDf(file):
   with fs.open(file) as f:
      df = pd.read_csv(f, compression='gzip')
  return df

写入问题的建议/替代方案? 先感谢您!。


函数的压缩参数to_csv()写入流时不起作用。您必须分别进行压缩和上传。

import gzip
import boto3
from io import BytesIO, TextIOWrapper

buffer = BytesIO()

with gzip.GzipFile(mode='w', fileobj=buffer) as zipped_file:
    df.to_csv(TextIOWrapper(zipped_file, 'utf8'), index=False)

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

pandas 数据帧上的 s3fs gzip 压缩 的相关文章

  • Flask:缓存静态文件(.js、.css)

    我真的找不到任何这方面的资源 那么如何将视图 函数的缓存与静态文件 即 css js 分开 我想将静态对象缓存一周 另一方面 我只需要缓存函数 视图几分钟 当我执行以下操作时 from flask ext cache import Cach
  • 使用 python 中的 java 库

    我有一个 python 应用程序和 java 应用程序 python 应用程序为 java 应用程序生成输入并在命令行上调用它 我确信一定有一个更优雅的解决方案 就像使用 JNI 从 Java 调用 C 代码一样 有什么指点吗 仅供参考 我
  • 计时器显示负的已用时间

    我正在使用一个非常简单的代码来计算每个循环的时间for陈述 它看起来像这样 import time for item in list of files Start timing this loop start time clock Do a
  • Windows 中的信号处理

    在Windows中 我试图创建一个等待SIGINT信号的python进程 当它收到SIGINT时 我希望它只打印一条消息并等待SIGINT的另一次出现 所以我使用了信号处理程序 这是我的 signal receiver py 代码 impo
  • 添加反斜杠而不转义[重复]

    这个问题在这里已经有答案了 我需要逃离 字符串中的 字符 问题是每当我string string replace 结果是 添加额外的反斜杠来转义原始反斜杠 如何删除这个多余的反斜杠 结果 仅显示 实际上字符串是 gt gt gt str g
  • cx_freeze:QODBC 驱动程序未加载

    我的 python 应用程序如下所示 test py from PyQt4 import QtCore from PyQt4 import QtGui from PyQt4 import QtSql import sys import at
  • 散景服务器获取鼠标位置

    我正在开发一个带有散景 0 12 2 的交互式应用程序 它根据特定的交互更新绘图 现在 我使用滑块来更改图中字形的位置 但实际上我想访问鼠标在特定图中的位置 数据集是一个多维矩阵 张量 密集数据 每个图在特定位置显示一个维度 如果我更改一个
  • Python Pandas groupby、排名,然后根据自定义排名分配值

    问题设置 大熊猫数据框 df pd DataFrame Group A A A A A A A A A Subgroup Group 1 Group 1 Group 1 Group 1 Group 1 Group 1 Group 2 Gro
  • Seaborn 条形图条之间没有空格

    我使用下面的代码创建了一个 Seaborn 条形图 它来自https www machinelearningplus com plots top 50 matplotlib visualizations the master plots p
  • 在 Qt Creator 中相互公开 QML 组件

    我正在使用 Qt Quick 和 PySide2 开发仪表板应用程序 但在 Qt Creator 的设计模式中公开我的 QML 组件时遇到问题 我的文件夹结构如下所示 myapp mycomponents component1 qml co
  • 显示多索引 pandas 数据帧的前 10 行

    我有一个多级索引 pandasDataFrame第一级在哪里year第二级是username 我只有一列已经按降序排序 我想显示每个索引级别 0 的前 2 行 我拥有的 count year username 2010 b 677 a 50
  • Python Pandas:将参数传递给 agg() 中的函数

    我试图通过使用不同类型的函数和参数值来减少 pandas 数据框中的数据 但是 我无法更改聚合函数中的默认参数 这是一个例子 gt gt gt df pd DataFrame x 1 np nan 2 1 y a a b b gt gt g
  • Django:通过外键将两个表连接到第三个表?

    我有三个型号 class A Model class B Model id IntegerField a ForeignKey A class C Model id IntegerField a ForeignKey A 我想要得到 B i
  • 使用 Python gdata 和 oAuth 2 对日历进行身份验证

    我正在将一个 Python 应用程序从 oAuth 1 迁移到 oAuth 2 该应用程序读取用户的 Google 日历提要 使用 oAuth 1 如果用户可以使用他的 GMail 进行身份验证 我的应用程序将打开浏览器 帐户并授权访问 我
  • 解释 scipy.stats.entropy 值

    我正在尝试使用scipy stats 熵来估计库尔巴克 莱布勒 KL 两个分布之间的散度 更具体地说 我想使用 KL 作为衡量标准来确定两个分布的一致性 但是 我无法解释 KL 值 例如 t1 numpy random normal 2 5
  • 在Python中使用Counter()来构建直方图?

    我在另一个问题上看到我可以使用Counter 计算一组字符串中出现的次数 所以如果我有 A B A C A A I get Counter A 3 B 1 C 1 但现在 我如何使用该信息来构建直方图 对于您的数据 最好使用条形图而不是直方
  • 使用 PyQt5 拖放 QLabels

    我正在尝试使用 PyQt5 将 Qlabel 拖放到另一个 Qlabel 上 from PyQt5 QtWidgets import QApplication QWidget QToolTip QPushButton QMessageBox
  • numpy 中的分层抽样

    在 numpy 中我有一个这样的数据集 前两列是索引 我可以通过索引将数据集分成多个块 即第一个块是 0 0 第二个块是 0 1 第三个块 0 2 然后是 1 0 1 1 1 2 等等 每个块至少有两个元素 索引列中的数字可能会有所不同 我
  • 按工作日分组的熊猫 (M/T/W/T/F/S/S)

    我有一个 pandas 数据框 其中包含 YYYY MM DD arrival date 形式的时间序列 作为索引 我想按每个工作日 周一到周日 进行分组 以便计算其他日期列是平均值 中位数 标准差等 我最终应该只有七行 到目前为止我只知道
  • 如何更改 PyGame 中声音或音乐的音量?

    如何更改 PyGame 中的音量 例如通过设置更改音量 我制作了 UI 元素 只需要知道如何更改音量即可 我知道我说不清楚 但你可以理解我 请帮忙 更改音量取决于您是否正在播放pygame mixer Sound https www pyg

随机推荐