python—使用python3将bytes对象转换为pandasDataframe将导致空Dataframe为什么?

kr98yfug  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(683)

我读了一些关于字节库和Pandas的文章,我认为以下文章中的答案应该对我有用:
如何将字节数据转换成pythonDataframe?
然而,他们两个都不起作用。
我有一个csv文件与一些内容。当我将其加载到odoo时,它会将文件返回到 Bytes 对象。我想读这个 Bytes 对象 pandas 把它变成一个 dataframe 为了使用 dataframe 方法。
这个 Bytes 对象出现在属性中 file_to_import 我的班级(这就是为什么你会看到 self.file_to_import 在我的代码中)。如果我显示它的类型,它将返回 <class 'bytes'> . 如果我解码它,就会得到它各自的字符串:
zzzvvvzzzzzvvvzzzzzzzzzzvvvvvvvvvvzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzwwwwwwzzzzzfffzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzXLCBJB24GCxVLBWFKB型中国政府的这项工作是一个jjbwvv6 6 6 6中国的一个wzzzjjyywwwwwfffffffffffffffbbfbfbzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzjjwwfffbbfbffxxbbbbbbbbbbbbbbbzzzzzzzzzzzzzzzzzbyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz你知道吗QGYW5KIGNSAXASIHVZZXINCYBTYW51YWWGWAW4GRW5NBGLZACBSYW5NDWFNZTTXNS5GLTA2NJY2OAPXMS5GLTA2NJY2OTTYWZHCMKGMTAWMDTTYWZHCMKGMTAWMCBWBHVZIDI4OTM0MDE7Q2FSZGVYYXMGESBYWXLBNRHZG9YZXMGGGGGGGGGGGGGGGYWD1YTSXMTI5OZM2NTA7U0K7U0K7CHJVZHVJDDS7QULDIFNBOZYWIGTXIG4GY2FYDG9UIGJB3AXIB2LZXIGW5JBGFQZJLYXCGZWWWWGYXBOBZ2L0ACBNRZQQGYW5KIGNSAXASIHVZZZXINCYBTYW51YWWGWAW4GRW5NBGLZACBSYW5NDWFNZTTXMS5GLTA2NJY2OQO7OZTTDXN0AXR1AxigQ2FSZGVYYXMGESBYWXLBNRHZG9YZXMGGGGGGGGGUYWD1YSBWB3IGY8OZGLNBYYYXJVO8K/UHJLY2LVIGGNVBYSBKZSB0B2RVCYBSB3MGCHVDMVLZG9YBGBZW7NSBYBKZSBLC3RLIHB3ZWRVCIBJB25JCMV0BZ87O8K/PZS7OZOZTTDXN0AXR1AxiGZBVIB7NBIBJW7NKAWIHCM87OWO=
看起来没问题,这就足够了:

from io import BytesIO
import pandas as pd

df = pd.read_csv(BytesIO(self.file_to_import))

然而, df 没有任何行,如果我检查 df.empty ,它返回 True ,所以 dataframe 没有任何信息。如果我检查一下 BytesIO 对象,然后再尝试将其转换为 dataframe ,它返回1376字节,这似乎是正常的,因为dolphin显示文件的大小为1,0 kib(1.031)。

x = BytesIO(self.file_to_import)
_logger.critical(x.getbuffer().nbytes)
df = pd.read_csv(x))

有人能告诉我为什么会这样吗?为什么是 dataframe 是空的吗?

wi3ka0sx

wi3ka0sx1#

你的线是 base64 编码的。使用前需要解码:

import base64

s = b"ZGVmYXVsdF9jb2RlO2...Jhcm87Owo="
s = base64.decodebytes(s)

相关问题