背景:识别图片表格并录入excel后导致原文件单元格样式丢失
重点部分:
wb = load_workbook('3008312-2023.07.11.xlsx')
ws = wb.active
......
wb.save('3008312-2023.07.11.xlsx')
完整代码
import cv2
import numpy as np
import pandas as pd
import easyocr
import time
import matplotlib.pyplot as plt
from openpyxl import load_workbook
import openpyxl
start_time = time.time()
image = cv2.imread('2.png')
ocr = easyocr.Reader(['en'], gpu=False,
model_storage_directory=r'D:\anaconda3\envs\gupiao\Lib\site-packages\easyocr\model')
# 识别图片文字
img_data=[] #用来储存识别的数字
text1 = ocr.readtext(image)
for i in range(0,len(text1)):
# print(text1[i][1])
value_str = text1[i][1].replace(',', '')
img_data.append(float(value_str))
print(img_data)
wb = load_workbook('3008312-2023.07.11.xlsx')
# 选择活动工作表,默认是第一个工作表
ws = wb.active
# 循环遍历特定行
for i in range(7, 47):
# 获取单元格引用
cell = ws.cell(row=i + 1, column=11) # openpyxl中行和列索引从1开始
# 检查单元格是否为空
if cell.value is None:
# 赋值,这里假设img_data[0]是你要填充的值
cell.value = img_data[0]
del img_data[0]
# 保存工作簿,这一步会覆盖原始文件
wb.save('3008312-2023.07.11.xlsx')
end_time = time.time()
run_time = end_time - start_time
print(f"程序运行时间:{run_time} 秒")