文字列の書式設定で解決できる問題がありますが、どこから開始するのかは本当に分かりません。 私がしたいことは、下のリストのようにカンマの前にn個の文字があるように、パッドが付けられたリストを作成することです。あなたの助けのための異なる長さのPythonパディング文字列
1148, 39, 365, 6, 56524,
乾杯と感謝:)
文字列の書式設定で解決できる問題がありますが、どこから開始するのかは本当に分かりません。 私がしたいことは、下のリストのようにカンマの前にn個の文字があるように、パッドが付けられたリストを作成することです。あなたの助けのための異なる長さのPythonパディング文字列
1148, 39, 365, 6, 56524,
乾杯と感謝:)
最もストレートフォワードな方法は、str.rjust()
機能を使用することです。たとえば:
your_list = [1148, 39, 365, 6, 56524]
for element in your_list:
print(str(element).rjust(5))
そして、あなたが得る:
1148 39 365 6 56524
は、他の方向の文字列の正当化のためのstr.center()
とstr.ljust()
もあります。
しかし、あなたはまた、フォーマットを経由して、それを行うことができます。
あなたはあなたができることは何かnは知っていると仮定すると、your_list = [1148, 39, 365, 6, 56524]
for element in your_list:
print("{:>5}".format(element))
: '{:>n}'.format(number)
ですから、整数のリストを持っているとしてそれをフォーマットしたい場合
numbers = [1148, 39, 365, 6, 56524]
result = '\n'.join(('{:>5},'.format(x) for x in numbers))
Format Specification Mini-Languageを参照してください。 "{:{}d},".format(i, width)
:
あなたは"{:5d},".format(i)
i
のようなものを探していますが、変数width
5.
の幅で印刷される整数です。
申し訳ありませんが、私も言っておくべきことは、リストからではなく行ごとにCSVファイルに行を書き込んでいることです。だから私が必要とするのは、最初の整数の長さが違うにもかかわらず、各行の最初の昏睡が整列することです。 –
上記のテクニックを使用して、各行の最初の要素を「パッド」することができます。先頭の最大長(最大値)を調べるだけで済みます。データを最初にループして最大の値を見つけ、文字の長さ( 'len(str(最大値))')を取得し、最初の要素をパディングするときに 'str.rjust()'にその数値を使用します。昏睡などを心配する必要はありません。実際の生成については、組み込みの['csv'](https://docs.python.org/2/library/csv.html)モジュールを使用して入札してくださいCSV構造。 – zwer