<p>在四行的linked Book1.csv中,前两项是有效的base64编码,但后两项不是。最后一行中的字符串非常长,可能在某个点被截断。您收到的<code>TypeError</code>表示需要将base64编码的字符串数据转换回<code>bytes</code>对象</p>
<p>下面是将base64字符串转换为bytes对象的示例。我使用枕头(<code>pip install Pillow</code>)来显示图像,以验证它们确实被正确解码:</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
import base64
from PIL import Image
from io import BytesIO
def decode(s):
try:
return base64.b64decode(s)
except ValueError as e:
return e
df = pd.read_csv(r'downloads\book1.csv',encoding='utf-8-sig')
df['image_byte'] = df['image_byte'].apply(decode)
print(df)
Image.open(BytesIO(df.image_byte[0])).show()
Image.open(BytesIO(df.image_byte[1])).show()
</code></pre>
<p>输出:</p>
<pre><code> asset_id ... image_byte
0 204863410 ... b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x02...
1 204863409 ... b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x02...
2 204863134 ... Incorrect padding
3 204863133 ... Incorrect padding
[4 rows x 5 columns]
</code></pre>
<p>第一幅图:</p>
<p><img src="https://i.stack.imgur.com/7XeVW.jpg" alt="First image example"/></p>