加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python将结果保存到.xls文件,从而产生错误

发布时间:2020-12-20 13:40:14 所属栏目:Python 来源:网络整理
导读:我正在进行一个项目,我必须将结果保存到excel文件.我在项目结束时给出了命令,该命令一直正常,但现在给出了以下错误: Traceback (most recent call last): File "C:Users5460DesktopCodescikit-learn svm_body.py",line 139,in module main() File "C:
我正在进行一个项目,我必须将结果保存到excel文件.我在项目结束时给出了命令,该命令一直正常,但现在给出了以下错误:

Traceback (most recent call last):
  File "C:Users5460DesktopCodescikit-learn svm_body.py",line 139,in <module>
    main()
  File "C:Users5460DesktopCodescikit-learn svm_body.py",line 136,in main
    wb.save('SVMResults_body001.xls')
  File "C:Python27libsite-packagesxlwtWorkbook.py",line 662,in save
    doc.save(filename,self.get_biff_data())
  File "C:Python27libsite-packagesxlwtWorkbook.py",line 637,in get_biff_data
    shared_str_table   = self.__sst_rec()
  File "C:Python27libsite-packagesxlwtWorkbook.py",line 599,in __sst_rec
    return self.__sst.get_biff_record()
  File "C:Python27libsite-packagesxlwtBIFFRecords.py",line 76,in get_biff_record
    self._add_to_sst(s)
  File "C:Python27libsite-packagesxlwtBIFFRecords.py",line 91,in _add_to_sst
    u_str = upack2(s,self.encoding)
  File "C:Python27libsite-packagesxlwtUnicodeUtils.py",line 55,in upack2
    raise Exception('String longer than 32767 characters')
Exception: String longer than 32767 characters

我的部分代码如下:

def main():
    classifier = svm_learning(data_array,cat_array) #for training classifier
    classified = list(classifier.predict(test_array))
    print classified
    pred_array = np.array(classified)
    #write to file
    z = 1
    for c in classified:
        worksheet.write(z,1,c)#1 is for body
        z += 1
    scores = classifier.score(test_array,cat_test_array) #test_array,cat_test_array
    print scores
    crossval = cross_validation.cross_val_score(classifier,test_array,cat_test_array,cv=5) #5 folds -- cv=5
    print crossval
    print("Accuracy: %0.2f (+/- %0.2f)" % (crossval.mean(),crossval.std() * 2))
    print 'It is saving now'
    wb.save('SVMResults_body001.xls')

关于我可能做错的任何想法?非常感谢!

解决方法

您正在编写的字符串比接口允许的字符串长 – 超过32k(有符号短整数的最大值).你需要将琴弦切成更短的部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读