以base64字符串的形式读取pandas列

2024-09-29 19:08:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,我已经读到熊猫。csv中的一列包含base64编码的值,但熊猫会将其作为字符串读入。如何将该值(现在作为字符串读入)转换回可用的base64值。结构是这样的

我举了一个例子:

asset_id,asset_name,file_extension,concept_name,image_byte
204863410,7613287394927_H_enUK_1634104697919.jpg,jpg,Nestle Confectionery:Hazelnut,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9k=

我在这个文件中还加载了一些示例,用于重新创建错误here.

更新:

正如一位评论员指出的,我试图转换的字符串已经是base64,这确实是正确的。这就是问题所在

该字符串已被base64编码,但我不确定为什么它仍然被拒绝。我认为这可能是在开始和结束时用“失败”来读入字符串。当我尝试按原样将字符串加载到API调用中时,我得到如下结果

image=resources_pb2.Image(
TypeError: '/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyY has type str, but expected one of: bytes

这是我正在使用的代码块

post_inputs_response = stub.PostInputs(
service_pb2.PostInputsRequest(
    inputs=[
        resources_pb2.Input(
            data=resources_pb2.Data(
                image=resources_pb2.Image(
                    base64= img_byte_raw
                )
            )
        )
    ]
),
metadata=metadata

)

我从Clarifai的文件链接here

我将感谢任何帮助


Tags: 文件csv字符串nameimage编码herebyte
2条回答

好的,我想我已经发现你的问题了。让我们下载一个新文件作为示例,并使用它。我正在处理一小块灰色正方形

import cv2
from base64 import b64encode, b64decode
import numpy as np

# Load image, b64 encode, byte decode to string
img = cv2.imread(r'C:\Users\me\Pictures\koala.png', cv2.IMREAD_GRAYSCALE)
encoded_img = b64encode(img)
image_b64_str = encoded_img.decode("utf-8")

# Read the string back, encode into bytes, then b64 decode
image_b64_in = image_b64_str.encode("utf-8")
base64_decoded_image = b64decode(image_b64_in)

decodeed_img_from_string_only = np.frombuffer(image_b64_in, dtype=np.uint8)
decodeed_img_from_b64_decode = np.frombuffer(base64_decoded_image, dtype=np.uint8)


print(img)
print(f"b64 encoded: {encoded_img}")
print(f"b64 encoded then string decoded: {image_b64_str}")

print('')
print(f"String encoded to bytes: {image_b64_in}")
print(f"Bytes decoded to array: {decodeed_img_from_string_only}")
print('')
print(f"String encoded to bytes and then b64 decoded: {base64_decoded_image}")
print(f"B64-decoded bytes decoded to array: {decodeed_img_from_b64_decode}")

以下是上述模块的输出:

[[181 182 182 182 181 182 186]
 [181 182 182 182 182 183 186]
 [182 182 183 183 184 185 186]
 [182 182 183 184 185 186 186]
 [182 182 182 183 185 186 187]
 [180 181 181 182 184 185 187]
 [178 179 181 181 182 184 188]
 [177 179 180 180 181 183 188]]
b64 encoded: b'tba2trW2urW2tra2t7q2tre3uLm6tra3uLm6ura2tre5uru0tbW2uLm7srO1tba4vLGztLS1t7w='
b64 encoded then string decoded: tba2trW2urW2tra2t7q2tre3uLm6tra3uLm6ura2tre5uru0tbW2uLm7srO1tba4vLGztLS1t7w=

String encoded to bytes: b'tba2trW2urW2tra2t7q2tre3uLm6tra3uLm6ura2tre5uru0tbW2uLm7srO1tba4vLGztLS1t7w='
Bytes decoded to array: [116  98  97  50 116 114  87  50 117 114  87  50 116 114  97  50 116  55
 113  50 116 114 101  51 117  76 109  54 116 114  97  51 117  76 109  54
 117 114  97  50 116 114 101  53 117 114 117  48 116  98  87  50 117  76
 109  55 115 114  79  49 116  98  97  52 118  76  71 122 116  76  83  49
 116  55 119  61]

String encoded to bytes and then b64 decoded: b'\xb5\xb6\xb6\xb6\xb5\xb6\xba\xb5\xb6\xb6\xb6\xb6\xb7\xba\xb6\xb6\xb7\xb7\xb8\xb9\xba\xb6\xb6\xb7\xb8\xb9\xba\xba\xb6\xb6\xb6\xb7\xb9\xba\xbb\xb4\xb5\xb5\xb6\xb8\xb9\xbb\xb2\xb3\xb5\xb5\xb6\xb8\xbc\xb1\xb3\xb4\xb4\xb5\xb7\xbc'
B64-decoded bytes decoded to array: [181 182 182 182 181 182 186 181 182 182 182 182 183 186 182 182 183 183
 184 185 186 182 182 183 184 185 186 186 182 182 182 183 185 186 187 180
 181 181 182 184 185 187 178 179 181 181 182 184 188 177 179 180 180 181
 183 188]

值得注意的是,人类可读的字符串重新编码看起来与原始b64编码相同,但生成的数组与原始数组完全不同,而字符串重新编码的b64编码在视觉上看起来非常不同,但重新创建了原始数组(没有合适的形状,这是典型的缓冲区。你需要自己提供)

我认为,如果要读取保存的字符串以转换它们,则需要在其上使用df['col'].applymap(lambda x: b64decode(x.encode("utf-8")))

然而这引出了一个问题-为什么作为字节表示的your_string.encode("utf-8")不适用于API,而b64encode(b64decode(your_string.encode("utf-8")))理论上应该产生相同的表示…我对此不确定。也许可以确保df['col'].applymap(lambda x: x.encode("utf-8"))df['col'].astype(bytes)作为另一个评论者建议的是给你想要的

进一步阅读: Convert string of base64 back to base64 bytesHow do you decode Base64 data in Python?

在四行的linked Book1.csv中,前两项是有效的base64编码,但后两项不是。最后一行中的字符串非常长,可能在某个点被截断。您收到的TypeError表示需要将base64编码的字符串数据转换回bytes对象

下面是将base64字符串转换为bytes对象的示例。我使用枕头(pip install Pillow)来显示图像,以验证它们确实被正确解码:

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()

输出:

    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]

第一幅图:

First image example

相关问题 更多 >

    热门问题