Я пытаюсь сравнить два списка строк в 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 + '-')
Что я могу сделать так, питон никогда не отбрасывает строку int?
простите за мой английский: D
Что представляет собой файл csv для значения, которое преобразуется в 1 20091E + 11? Похоже, что у вас есть значение, большее, чем Int, и оно превращается в Float. – jmucchiello
Если вы изменили код для печати следующим образом: 'print 'нет в списке:' + bankNumber, type (bankNumber)' Он напечатает тип значения bankNumber. Я предсказываю, что он напечатает «str», показывая вам, что это фактически тип строки; и я предсказываю, что если вы посмотрите в CSV-файл, вы увидите строку «1 20091E + 11». Не только Python никогда не конвертирует строку в float, не спрашивая вас, но это не тот формат, который я ожидал бы использовать Python при печати float. – steveha