无法从Python写入Excel文件

时间:2015-03-12 00:19:31

标签: python excel xlrd

我尝试使用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'>

1 个答案:

答案 0 :(得分:1)

我认为您的变量名称和格式在您的实际代码中是正确的。

当您使用write方法时,您没有给它正确的参数。

xlwt module documentation中找到以下方法原型:write(r,c,label =“”,style = Style.default_style)

label参数显然需要一个字符串。当您引用new_base[i]时,您将返回一个空列表:

'baseXxx - Ncm':[]

因此,当write方法查找字符串而不是[]时,它会抛出异常。