将文件压缩为字节数Python 3

时间:2019-02-25 18:29:21

标签: excel python-3.x postgresql zipfile

我想将一个zip文件存储在postgres数据库中。列的类型为bytea

当尝试获取json文件或csv文件的字节时,我可以使用此

with open(filename, encoding='utf-8') as file_data:
    bytes_content = file_data.read()

但是,如果我尝试使用zip文件或什至xls文件,则会收到错误消息。

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 14: invalid continuation byte

我进行了一些搜索,建议将其更改为编码类型,我尝试了latin-1ISO-8859-1,这两个操作都给我一个错误。

ValueError: A string literal cannot contain NUL (0x00) characters.

关于如何获取zip文件的字节以便将其存储在Postgres数据库中的任何想法吗?

1 个答案:

答案 0 :(得分:2)

如果要以字节形式读取JSON文件,则应以二进制模式打开文件:

with open(filename, 'rb') as file_data:
    bytes_content = file_data.read()