我读了一些关于字节库和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
是空的吗?
1条答案
按热度按时间wi3ka0sx1#
你的线是
base64
编码的。使用前需要解码: