name' openpyxl'没有定义错误

时间:2018-05-03 05:19:56

标签: python openpyxl pillow

还在这里学习python的来龙去脉。我使用openpyxl库取得了一些小小的成功,并开始使用excel文件作为" canvas"从目录读取1位bmp文件然后到"复制显示"通过删除指南,减小每个单元格的大小,最后在每个单元格中添加一个小图像,从枕头中获取来自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')

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您只能导入工作簿'''来自openpyxel的子模块。尝试:

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