名称 'openpyxl' 未定义错误

name 'openpyxl' not defined error

仍在学习 python 的来龙去脉。我在使用 openpyxl 库方面取得了一些成功,并开始了这个使用 excel 文件作为 "canvas" 从目录中读取 1 位 bmp 文件然后到 "duplicate-display" 上的图像的宠物项目通过摆脱指南,减小每个单元格的大小,最后通过在每个单元格中添加一个小图像以及来自 pillow 的 getdata 方法的二进制数据列表来工作表。

我还没有完成整个逻辑,但是我在下面的代码中遇到了两个晚上的问题,我仍然不知道为什么我几乎在行中收到名称 'openpyxl' 未定义的错误底部带有代码 sheet.add_image(openpyxl.drawing.image.Image('square_blue.jpg'), colnum_string(col)+str(row)) 我使用几乎相同的 openpyxl 和 PIL 库导入在类似项目中取得了成功。

from openpyxl import Workbook
import os
from PIL import Image
# for file in os.listdir():
#   if file.endswith('bmp'):
os.chdir('c:/users/Sam/Desktop/py')
img = Image.open('trump.bmp')

img_width, img_height = img.size
pix_val = list(img.getdata())

wb = Workbook()

def colnum_string(n):
    string = ""
    while n > 0:
        n, remainder = divmod(n - 1, 26)
        string = chr(65 + remainder) + string
    return string

r_height = 3
c_width = 3

sheet = wb.create_sheet("Mysheet")
for col in range(1, img_height):
    sheet.row_dimensions[img_height].height = r_height
    for row in range(1, img_width):
        sheet.column_dimensions[colnum_string(col)] = c_width

        sheet.add_image(openpyxl.drawing.image.Image('square_blue.jpg'), colnum_string(col)+str(row))

wb.save('out.xlsx')

谁能帮帮我?

您只从 openpyxel 导入“'Workbook'”子模块。尝试:

from openpyxel import Workbook, drawing  # also import drawing namespace
[...]
sheet.add_image(drawing.image.Image('square_blue.jpg'), colnum_string(col)+str(row))
[...]