如何解决如何从列表访问元素的一部分?
import cv2
import os
import glob
import pandas as pd
from pylibdmtx import pylibdmtx
import xlsxwriter
# co de for scanning
img_dir = "C:\\images" # Enter Directory of all images
data_path = os.path.join(img_dir,'*g')
files = glob.glob(data_path)
data = []
result=[]
for f1 in files:
img = cv2.imread(f1,cv2.IMREAD_UNCHANGED)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(gray,255,cv2.THRESH_BINARY | cv2.THRESH_OTSU)
msg = pylibdmtx.decode(thresh)
print(msg)
data.append(img)
result.append(msg)
print(type(result[0]))
我在列表名称结果中有4个列表的lsit。上面代码的输出是result。该代码旨在读取条形码,但它也提供了我不需要的位置。
在上面的代码之后,我有一个名为result的输出,这给了我::
[[Decoded(data=b'AZ:HP7CXNGSUFEPZCO4GS5RQPY6XY',rect=Rect(left=37,top=152,width=94,height=97))],[Decoded(data=b'AZ:RCHKBW5WGZE98J7E9853OW4ZHE',rect=Rect(left=40,top=125,width=91,height=95))],[Decoded(data=b'AZ:5Z7HME1FRNAZFINDPTDAOTB9GQ',rect=Rect(left=27,top=112,width=88,height=88))]
所以现在我想从其他所有列表中提取或找到az aprt并将其导出到excel。
AZ:HP7CXNGSUFEPZCO4GS5RQPY6XY
AZ:RCHKBW5WGZE98J7E9853OW4ZHE
AZ:5Z7HME1FRNAZFINDPTDAOTB9GQ
我只需要上面的输出,并省略所有位置详细信息。
我尝试使用索引编制,但是IT的说法超出了范围。
请帮助我。
解决方法
您需要在列表上进行迭代,并在每个列表上检索良好的属性。
values = [[Decoded(data=b'AZ:HP7CXNGSUFEPZCO4GS5RQPY6XY',rect=Rect(left=37,top=152,width=94,height=97))],[Decoded(data=b'AZ:9475EFWZCNARPEJEZEMXDFHIBI',rect=Rect(left=32,top=191,width=90,height=88))],[Decoded(data=b'AZ:6ECWZUQGEJCR5EZXDH9URCN53M',rect=Rect(left=48,top=183,width=88,height=89))],[Decoded(data=b'AZ:XZ9P6KTDGREM5KIXUO9IHCTKAQ',rect=Rect(left=73,top=121,width=91,height=94))]]
datas = [value[0].data for value in values] # list of encoded string (b'')
datas = [value[0].data.decode() for value in values] # list of strings
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。