我想将一个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-1
和ISO-8859-1
,这两个操作都给我一个错误。
ValueError: A string literal cannot contain NUL (0x00) characters.
关于如何获取zip文件的字节以便将其存储在Postgres数据库中的任何想法吗?
答案 0 :(得分:2)
如果要以字节形式读取JSON文件,则应以二进制模式打开文件:
with open(filename, 'rb') as file_data:
bytes_content = file_data.read()