标题:python 保存 excel文件时报错
只看楼主
x631084848
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-10-29
 问题点数:0 回复次数:1 
python 保存 excel文件时报错
我的参考网上别人的代码的,在我本机子上(win7)都可以

到了公司的服务器上(djingo/linux) 就报错 提示在  save的时候报:

'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

代码如下:  ( 我本机和公司机器上的主要代码相同, 就是 保存的路径完全不同!!!)

                         公司路径打印出来:/项目名/xx/xxx/info.xls(名子表示个意思,实际全英文)

class Try:
     def xls():
         #xls info
         wbk=xlwt.Workbook()
         sheet=wbk.add_sheet('sheet 1')
         #connect Info
         try:
            
            conn = MySQLdb.connect('localhost','root','ok','smyw_edit_server')
             cursor = conn.cursor()
             sql='select * from ser_user'
            
            #获取要打印的列名
             columnName=[u'编号',u'用户名',u'密码',u'注册时间',u'最后一次登录时间',u'是否启用']
             #获取列数
             columnLen=len(columnName)
             #打印出标题
             for i in range(columnLen):
                     sheet.write(0,i,columnName[i])
            
            #执行sql        
            cursor.execute(sql)
             #获取到查询得到的数据
             dataInfo=cursor.fetchall()
             dataLen = len(dataInfo)
             rowLine=0
             #排个顺序
             for line in range(dataLen):
                     lineInfo=dataInfo[line]
                     rowLine+=1
                     columnLine=0
                     #print line
                     #按每行打印
                     for row in lineInfo:
                             if type(row)==str:
                                 row=row.encode('utf-8')
                                 #print row
                             sheet.write(rowLine,columnLine,row)
                             columnLine+=1
            
            #print table
             #保存打印的excel数据
             wbk.save('c:%s.xls' % 'info')
             #print xlwt.Workbook()
             #打开打印的excel数据
            
            cursor.close()
             ()
             conn.close()
             sys.exit(1)
         except Exception,e:
             print e
         finally :
             print 'over!'
     if __name__=='__main__':
             xls()
搜索更多相关主题的帖子: python position 公司 
2012-11-09 17:40
xdsnet
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2013-2-27
得分:0 
估计是运行环境的问题,出错的环境估计不是utf-8或者其他支持ascii超集的环境。
2013-02-27 22:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-386567-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.171864 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved