[英]Automatic String to Number conversion in Python
我正在尝试比较python中的两个字符串列表。 一些字符串是数字,但是我不想将其用作数字,仅用于字符串比较。
我从文件中读取字符串,并将其放在这样的列表中:
def main():
inputFileName = 'BateCarteira.csv'
inputFile = open(inputFileName, "r")
bankNumbers = []
for line in inputFile:
values = line[0:len(line)-1].split(';');
if (len(values[0]) > 3):
bankNumbers.append(''+values[0])
但是,当我尝试打印该号码时,其打印内容如下:
1,20091E + 11
打印代码:
print 'not in the list: ' + bankNumber
outputFile.write(bankNumber + '-')
我该怎么办,python永远不会将字符串转换为int?
对不起,我的英语:D
Python绝不会将字符串转换为数字,除非您尝试以下操作:
s = "1.2"
a = float(s)
所以我想您的.csv文件中包含字符串“ 1,20091E + 11”。 另请注意,小数点是逗号。 因此,如果您尝试将其转换为浮点数,则转换将失败。
您需要语言环境模块来读取语言环境格式的数字(即在欧洲(大部分)地区使用的十进制逗号)。
import locale
locale.setlocale(locale.LC_ALL, '')
f = locale.atof("1,20091E+11")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.