您好。我正在使用xlwt包和Python来创建一个写入excel文件的应用程序。
我有一个函数可以返回所需的单元格宽度,这样我就可以使单元格足够大以适应文本。但是,当我正在编写大写的文本时,我的函数会崩溃,因为它会返回一个远小于实际文本的宽度。
我不知道是什么问题。任何建议都将不胜感激。
def getWidth(self, num_characters):
""" Returns the approximate width of a cell. """
return int((1+num_characters) * 256)
答案 0 :(得分:0)
您使用getWidth
功能所做的就是猜测您需要多少空间。你猜测的原因是每个字母占用不同的空间(“iiiii”占用的空间比“mmmmm”少)。显然,大写字母会占用更多空间。
此问题有两个简单(但不完美)修复:
选项1的代码与您已经完全相似:
def getWidth(self, num_characters):
""" Returns the approximate width of a cell. """
return int((1+num_characters) * 384)
选项2的代码将涉及在插入之前调用字符串上的lower
方法。它看起来像这样:
my_cell_value = "THIS IS ALL CAPS!"
my_worksheet.write(1,1,my_cell_value.lower())