首页 > 解决方案 > 无法在 Excel 文件中正确写入提取的文本

问题描述

我尝试从表中提取数据并使用 pandas 将提取的数据写入 excel 文件。但是数据不会写入相应的单元格。

结果:

在此处输入图像描述

例外结果:

在此处输入图像描述

请在这件事上给予我帮助...

我尝试了以下解决方案,但它对我不起作用,

df.b=np.where(df.b,df.b,df.a)
df.apply(lambda row: str(row['a']) + str(row['b']).replace('0.', '.'), axis=1) 

这是我的代码:

img = cv2.imread(r'image.jpg', 0)
img1 = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_CONSTANT, value=[255, 255])
blur = cv2.GaussianBlur(img1, (9, 9), 0)
th3 = cv2.adaptiveThreshold(blur, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 30)
contours1, hierarchy1 = cv2.findContours(th3, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
bounding_boxes = [cv2.boundingRect(c) for c in cns]
(cns, bounding_boxes) = zip(*sorted(zip(cns, bounding_boxes), key=lambda b: b[1][i], reverse=reverse))
table_image = img1.copy()
box = []
for i in range(len(cns)):
    cnt = cns[i]
    x, y, w, h = cv2.boundingRect(cnt)
    img = cv2.rectangle(table_image, (x + 4, y - 2), (x + w - 5, y + h), (128, 128, 255), 1)
    box.append([x, y, w, h])
img = img1[x - 2:x + h + 4, y + 2:y + w + 2]
to_dump = []
out = pytesseract.image_to_string(img)
to_dump.append(out)

# creating numpy array
np_dump = np.array(to_dump)

# creating data_frame of the array
data_frame = pd.DataFrame(np_dump.reshape(len(box), bounding_boxes))
print(data_frame)

data = data_frame.style.set_properties(**{'text-align': 'left'})
# storing value in excel format
data.to_excel("output.xlsx")

标签: pythonpandas

解决方案


推荐阅读