Belirli bir sütunu hizalamak için bir baskı bildirimi biçimlendirmeye çalışıyorum.Python - Belirli bir sütunu hizalamak için yazdırma biçimlendirme
anda benim çıktısı:
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
aradığım çıktısı:
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
: Burada
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
Şu anda baskı için kullanıyorum kodudur Aşağıdaki gibi biçimlendirme kullanmayı denedim:
print(count, "- {:>5} ({:>5}) {:>5}{}{}".format(splitline[0], splitline[1], dollar_sign, daily_price, in_out))
ancak hizalanacak yalnızca bir sütunu elde edemedik. Herhangi bir yardım veya öneri çok takdir edilecektir! Ayrıca, python 3.x
Kullanmakta olduğum gibi, tüm bilgileri içermek için tuples kullanıyorum. all_lines
ana liste gibi. Bilgiler orijinal olarak bir csv'den okunmaktadır. Öncelikle işlevsellik üzerinde çalışmaya çalışarak, korkunç isimlendirme kuralları için özür dileriz.
Bu başka bir yerde yanıtlanmış olsaydı; Bakmaya çalıştım.
DÜZENLEME:
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
Bu bir tedavi çalışmasıdır, merak ettiğim tek şey, her all_lines.append() öğesini belirtmeden bunu yapmanın bir yolu varsa. Fazladan satır ekleyecek bir programla çalıştığım için, ek içeriği görüntüleyebilmek için buna ihtiyacım var! Hızlı cevap için alkış! –
Sadece all_line ifadesini kullandım çünkü verilerinizin nereden geldiğini ve nasıl göründüğünü bilmiyorum, bu yüzden eklediğiniz çıktıyı aldım ve ondan bir all_line oluşturdum. All_line'ınızın zaten ilk üç satırda oluşturduğum formatta olduğunu varsaydım. All_lines'larınızı daha ayrıntılı olarak belirtebilir misiniz? İlk üç hattımı atlayıp all_lines kullanmanı mı denedin? – tfv
şüphesiz, benim all_lines anda şöyle görünür: open_file = open ('items.csv', 'r +') all_lines = [] open_file kuyruk için:. splitline = line.strip() bölünmüş ('' all_lines.append ((bölünmüş [0], bölme çizgisi [1], bölme çizgisi [2], bölme çizgisi [3])) Bilgileri bir csv dosyasından çekiyorum. –