如何像 Mac OS 的 gunzip 那样解压从 Python3 中的 SFTP 中提取的 GZIP 文件?

多米诺骨牌

好的,我已经在这个问题上坚持了几个小时,而这本应该只需要几分钟的工作。

我有以下代码从数据存储中提取一个 gzip 压缩的 CSV 文件:

from ftplib import FTP_TLS
import gzip
import csv

ftps = FTP_TLS('waws-prod.net')
ftps.login(user='foo', passwd='bar')

resp = ftps.retrbinary('RETR data/WFSIV0606201701.700.csv.gz', gzip.open('WFSIV0606201701.700.csv.gz', 'wb').write)

文件出现在pwd中,我什至可以打开我的Mac解压工具,原始CSV解压完美。

但是,如果我尝试使用 gzip 库解压缩此文件,则无法解析 UTF8 编码的字符串:

f=gzip.GzipFile('WFSIV0606201701.700.csv.gz', 'rb')
s = f.read()

我得到的似乎是 UTF8 字节串,但是 utf8 解码器无法解析该字符串。

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

但!如果我使用 FileZilla 直接从 SFTP 服务器下载,并且我确实运行了gzip.GzipFile上面代码,它会完美地读取它。我的下载器/阅读器一定有问题,但我不知道可能出什么问题。

汤姆
resp = ftps.retrbinary('RETR data/WFSIV0606201701.700.csv.gz', gzip.open('WFSIV0606201701.700.csv.gz', 'wb').write)

这一行下载一个压缩文件,然后在写入磁盘时再次压缩它

更换gzip.open(...).writeopen(...).write直接写的压缩文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Python 3.6 中提取没有 BOM 的 gzip 文件

来自分类Dev

如何解压缩javascript中的gzip文件?

来自分类Dev

如何从S3中的zip存档中提取文件

来自分类Dev

Ansible gzip 和 gunzip 数据文件

来自分类Dev

如何从Python中的XML文件中提取@value?

来自分类Dev

如何从Python中的CSV文件中提取JSON对象?

来自分类Dev

如何从Python中的XML文件中提取@value?

来自分类Dev

在Java中创建文件时,如何在Mac OS X中提供文件路径?

来自分类Dev

在Mac OS X中,如何解压缩一个zip文件而不解压缩其内容?

来自分类Dev

从Python3中的zip存档中提取特定文件夹的内容

来自分类Dev

如何从C中的文件中提取数据

来自分类Dev

从zip存档中提取gzip文件

来自分类Dev

从gzip文件中提取时间戳

来自分类Dev

从Python中的文件中提取各种变量

来自分类Dev

从python中的胖图像中提取文件

来自分类Dev

从python中的json文件中提取元素

来自分类Dev

如何使用C文件返回值,然后使用os.system在python中提取值?

来自分类Dev

如何从特定文件夹中提取文件,文件名存储在python列表中?

来自分类Dev

如何从python中.json文件中给定格式的.csv文件中提取数据?

来自分类Dev

如何在文件python中提取文本

来自分类Dev

如何在python3中的'\+234'字符串中提取'\+'

来自分类Dev

如何从.txt文件中提取MAC地址并将该地址单独放置在另一个.txt中

来自分类Dev

如何使用python从另一个文件中的多个文件中提取数据?

来自分类Dev

从python 3中的文本文件中提取数据

来自分类Dev

如何从tar文件中的csv文件中提取前几行而不在Linux中提取它?

来自分类Dev

如何使用os.listdir在Python3中获取文件信息?

来自分类Dev

从ruby中的gzip提取多个文件

来自分类Dev

如何从gzip文件中删除第一行而不进行解压缩?

来自分类Dev

如何在OS X Lion中对文件夹进行排序,而不必像使用“排列方式”那样对文件进行分组?

Related 相关文章

  1. 1

    在 Python 3.6 中提取没有 BOM 的 gzip 文件

  2. 2

    如何解压缩javascript中的gzip文件?

  3. 3

    如何从S3中的zip存档中提取文件

  4. 4

    Ansible gzip 和 gunzip 数据文件

  5. 5

    如何从Python中的XML文件中提取@value?

  6. 6

    如何从Python中的CSV文件中提取JSON对象?

  7. 7

    如何从Python中的XML文件中提取@value?

  8. 8

    在Java中创建文件时,如何在Mac OS X中提供文件路径?

  9. 9

    在Mac OS X中,如何解压缩一个zip文件而不解压缩其内容?

  10. 10

    从Python3中的zip存档中提取特定文件夹的内容

  11. 11

    如何从C中的文件中提取数据

  12. 12

    从zip存档中提取gzip文件

  13. 13

    从gzip文件中提取时间戳

  14. 14

    从Python中的文件中提取各种变量

  15. 15

    从python中的胖图像中提取文件

  16. 16

    从python中的json文件中提取元素

  17. 17

    如何使用C文件返回值,然后使用os.system在python中提取值?

  18. 18

    如何从特定文件夹中提取文件,文件名存储在python列表中?

  19. 19

    如何从python中.json文件中给定格式的.csv文件中提取数据?

  20. 20

    如何在文件python中提取文本

  21. 21

    如何在python3中的'\+234'字符串中提取'\+'

  22. 22

    如何从.txt文件中提取MAC地址并将该地址单独放置在另一个.txt中

  23. 23

    如何使用python从另一个文件中的多个文件中提取数据?

  24. 24

    从python 3中的文本文件中提取数据

  25. 25

    如何从tar文件中的csv文件中提取前几行而不在Linux中提取它?

  26. 26

    如何使用os.listdir在Python3中获取文件信息?

  27. 27

    从ruby中的gzip提取多个文件

  28. 28

    如何从gzip文件中删除第一行而不进行解压缩?

  29. 29

    如何在OS X Lion中对文件夹进行排序,而不必像使用“排列方式”那样对文件进行分组?

热门标签

归档