Форматирование печати в python3 — как получить первые два символа числа

#python-3.x #string

#python-3.x #строка

Вопрос:

Я искал в Google то, что кажется вечностью, и я не могу ни за что понять это.

Plotly использует стиль формата печати для меток оси x, и мои метки имеют длину около 7 символов, и я хочу уменьшить количество символов до 3

Ввод: 1200000k

Желаемый результат: 120

Ниже я возился с тем, что кажется вечным, но безрезультатно. Я удалил K, поэтому мне интересно, понимает ли кто-нибудь еще, как это сделать с помощью номенклатуры форматирования pythons print.

Вот код ниже, в основном вы передаете формат меток в объект figure.

 fig.update_layout(
    xaxis_tickformat = '3i%',
)
  

Вот еще несколько разъяснений

введите описание изображения здесь

Комментарии:

1. Зачем понижать его? Или вы можете привести доводы. Буквально, это не имеет для меня никакого смысла…..

Ответ №1:

Вы можете сделать это с помощью нарезки строк. Попробуйте приведенный ниже код.

 k = "1200000k"
print(k[:3])
  

Комментарии:

1. Не могу передать это в plotly, оно должно быть в этом формате fstring : (

2. Так разве вы не можете управлять данными?

3. Я могу, но я буду часто использовать этот код во многих вариантах. У меня много данных, и выполнение такого рода манипуляций кажется очень неэффективным. Просто кажется абсурдным, что это сложно сделать в plotly / python, чтобы просто получить первые 3 символа моей строки.

4. В документации говорится о синтаксисе, подобном d3, но неясно, как его достичь. plotly.com/python/reference/#layout-xaxis-tickformat Изменение входных данных может быть простым вариантом.

5. Да, plotly сделал это очень сложным для выполнения …… когда я перешел на d3, я был похож на wtf….

Ответ №2:

Я не нашел решения, а вместо этого обработал данные, как предложил Митилеш. Я разделил на 1000 и преобразовал в целое число как самое простое решение.

Форматирование для графических форматов, которые я должен признать, очень тусклое с точки зрения документации, поэтому любой, кто сталкивается с этой проблемой. Я не разрешил это после 2-3 часов поиска в Google.