Извинения, похоже, мое первоначальное объяснение не было ясным, поэтому я обновил ниже, насколько это возможно.Как изменить строку на десятичную и установить значение 2 dp в Python (3.6)
Я создал словарь из списка полей и файла с фиксированной шириной данных, отрезав файл данных вверх.
data_format_keys = {
("CURRENT-RATIO", 120, 127),
("ACID-TEST", 127, 134),
("NOTES", 134, 154
}
При печати на это я получаю следующее ...
Current Ratio = 1234
Acid Test = 5678
Notes = These are my notes
Для данных в Current Ratio (1234) и тест Acid (5678) Мне нужно преобразовать строки в числовые значения и вставки десятичные точки для использования в вычислениях (эти поля взяты из файла мейнфрейма, поэтому их необходимо преобразовать в правильные форматы).
Ожидаемый выход ...
Current Ratio = 12.34 #This is an integer/float
Acid Test = 5.678 #This is an integer/float
Notes = These are my notes #This is still a string
Я создал список полей, которые должны быть преобразованы из первоначального списка, но я борюсь с тем, как применить Конверсия
for k,v in data_format_keys.items():
if k in data_format_keys == headerdict[i[1]]:
line = line.replace(k, v)
fo.write(line)
print(headerdict)
Где headerdict - это начальный словарь, а data_format_keys - список полей для преобразования.
Любые мысли? Благодаря
1) Существует много несвязанного кода, это не минимальный пример. 2) Вы имеете в виду ... разделите на 100? –
'float (текст)/100'? – asongtoruin
Я думаю, что деление на 100 будет работать после преобразования значения. Я искал вставить десятичную точку, но это имеет смысл. Благодарю. – Leigh