特定の列を揃えるためにprint文を書式化しようとしています。Python - 特定の列を揃えるために印刷をフォーマットする
現在、私の出力は次のとおりです。
0 - Rusty Bucket (40L bucket - quite rusty) = $0.00
1 - Golf Cart (Tesla powered 250 turbo) = $195.00*
2 - Thermomix (TM-31) = $25.50*
3 - AeroPress (Great coffee maker) = $5.00
4 - Guitar (JTV-59) = $12.95
私が探しています出力は次のとおりです。ここで
0 - Rusty Bucket (40L bucket - quite rusty) = $0.00
1 - Golf Cart (Tesla powered 250 turbo) = $195.00*
2 - Thermomix (TM-31) = $25.50*
3 - AeroPress (Great coffee maker) = $5.00
4 - Guitar (JTV-59) = $12.95
は、私は現在、印刷のために使用していますコードです:
def list_items():
count = 0
print("All items on file (* indicates item is currently out):")
for splitline in all_lines:
in_out = splitline[3]
dollar_sign = "= $"
daily_price = "{0:.2f}".format(float(splitline[2]))
if in_out == "out":
in_out = str("*")
else:
in_out = str("")
print(count, "- {} ({}) {}{}{}".format(splitline[0], splitline[1], dollar_sign, daily_price, in_out))
count += 1
私は次のような書式を使ってみました:
print(count, "- {:>5} ({:>5}) {:>5}{}{}".format(splitline[0], splitline[1], dollar_sign, daily_price, in_out))
ただし、整列する1つの列だけを取得することはできませんでした。どんな助けや提案も大歓迎です!私もpython 3.xを使用しています
私はすべての情報を含めるためにタプルを使用しています。all_lines
はそのままです。情報は元々csvから読み込まれています。恐ろしい命名規則に謝罪し、機能性を最初に働かそうとしています。
申し訳ありませんが、これは他の場所で回答されています。私は探してみました。
編集:ここに私のall_linesため
import csv
open_file = open('items.csv', 'r+')
all_lines = []
for line in open_file:
splitline = line.strip().split(',')
all_lines.append((splitline[0], splitline[1], splitline[2], splitline[3]))
を使用してコードイムであり、ここでcsvファイルの情報は次のとおりです。
Rusty Bucket,40L bucket - quite rusty,0.0,in
Golf Cart,Tesla powered 250 turbo,195.0,out
Thermomix,TM-31,25.5,out
AeroPress,Great coffee maker,5.0,in
Guitar,JTV-59,12.95,in
これは、私が各all_lines.append()を指定せずにこれを行う方法があるかどうか疑問に思っている唯一のものです。余分な行を追加するプログラムで作業しているので、追加のコンテンツを表示できるようにする必要があります。迅速な返信のための乾杯! –
私はあなたのデータがどこから来ているかわからないので、そのall_lineステートメントだけを使用しました。そのように見えるので、添付してall_linesを作成しました。私は、あなたのall_lineがすでに最初の3行で生成しているフォーマットを持っていると仮定しました。 all_linesをより詳細に指定できますか?最初の3行をスキップしてall_linesを使用しようとしましたか? – tfv
確かに、私のall_linesは現在、次のようになります。 open_file =オープン( 'items.csv'、 'R +') all_lines = [] ラインのopen_fileで:。 分割線= line.strip()スプリット( '' ) all_lines.append((splitline [0]、splitline [1]、splitline [2]、splitline [3])) 私はcsvファイルから情報を引き出しています。 –