Python 数字与字符串连接问题
定义下面这样一个函数,将excel表格中两个单元格的内容连成一个字符串,但是如果前一个单元格的内容是数字,比如是“1”,后一个单元格的事字符串,就会报错unsupported operand type(s) for +=: 'float' and 'unicode'。def GetSection(index):
section = sheet.cell_value(index,6)
section += sheet.cell_value(index,8)
return section
如果在 “+=” 操作前面加一句 str(section)
又会报错ascii' codec can't encode character u'\u5168' in position 0: ordinal not in range(128)
请问如何解决
利用unicode 来强制转成字符串试试
section += unicode(sheet.cell_value(index,8))
虽然Python是动态语言,但Python中的对象是强类型的,int 与 str型的对象当然不能添加。
return ('%s%d' %(sheet.cell_value(index,6),sheet.cell_value(index,8)))
这个可以不
这个应该可以吧。不过,如果编码不对的话,还是会出现乱码的。
学习....
程序中编码要统一哦
不然以后很麻烦的
这是个编码问题,EXCEL里字符串都是UNICODE,数字就是数值类型,两个变量相加之前,将数值类型强制转换为UNICODE类型即可,看下相关的资料就行了
def InsertCode5(cursor,code,address,section):
t = (code,address,section,)
cursor.execute('insert into TBL_CODE_5 values (?,?,?)', t)
解決了,謝謝大家支持
相关问答:
Python code:
p=[1,2,3,4,5,6]
while True:
for i in p:
if i==4:
p=[]
f=[9,8,7]
p.extend(f)
break
print i,',',
p. ......
#! c:\python26
# Filename: backup_ver1.py
import os
import time
source=[r'C:\test', r'C:\test1']
target_dir='D:\\back\\'
target=target_dir+time.strftime('%Y%m%d%H%M%S')+'.zip'
zip_command=" ......
C++中调用python函数,发现python函数的异常在C++中无法捕获。
调用函数如下,请大侠解惑
unsigned long CPythonHelper::Execute(const std::string& mml_cmd,
u ......
如何将Python写的一段代码生成pyd形式的库?
我知道的方法有:将这段Python代码扩展成C代码,然后通过VC将这段C代码生成后缀为.pyd的动态链接库。
不想用这么笨的方法,请问有没有比较简单的方法?谢谢!
顶一下, ......
map,filter方法应该会返回一个列表。
但是在我这里,它们总是返回:
<map object at 0x0000000002A2C978>
<filter object at 0x0000000002A2C9E8>
我用的python3.1, 这个也是版本的变动导致的吗? ......