我尝试使用Python和xlrd module写入Excel文件,并使用以下代码:
Table = [ 'baseMax - 1cm', 'baseMin- 1cm',
'baseMax - 5cm', 'baseMin - 5cm',
'baseMax - 15cm' 'baseMin - 15cm'
]
new_base = { 'baseMax - 1cm': [], 'baseMax - 5cm': [],
'baseMax - 15cm': [], 'baseMin- 1cm': [],
'baseMin - 5cm': [], 'baseMin - 15cm': []
}
HeadName = 'Base Calculation'
for i in Table:
base_stats.write(ROW, 0, HeadName + ' ' + i + ' - ')
base_stats_stats.write(ROW, 1, new_base[i])
ROW = ROW+1
ROW = ROW+1
当我运行此代码时,我在new_base[i]
收到错误消息。我不确定我到底知道这个错误究竟是什么。它似乎与我通过的参数有关,但我并不是真的理解它。
raise Exception("Unexpected data type %r" % type(label))
Exception: Unexpected data type <type 'list'>
答案 0 :(得分:1)
我认为您的变量名称和格式在您的实际代码中是正确的。
当您使用write
方法时,您没有给它正确的参数。
在xlwt module documentation中找到以下方法原型:write(r,c,label =“”,style = Style.default_style)
label
参数显然需要一个字符串。当您引用new_base[i]
时,您将返回一个空列表:
'baseXxx - Ncm':[]
因此,当write
方法查找字符串而不是[]
时,它会抛出异常。