簡體   English   中英

在python中像這樣格式化輸出

[英]formatted output like this in python

這是帶有查詢數據庫的python代碼

cursor.execute("""select count(distinct offering_name) as events
,count(learner) as learners 
,count(distinct learner) as unique_learner
,count(dropped) as dropped
,sum(trans_price) as trans_price
from EMS_data where organization like 'eng%' and manager ='rakesh'""")

對於光標中的結果:打印結果

結果將是這樣,“ L”是什么意思

(367L,7200L,4543L,7200L,3216157.0)

但是我想要這樣

| 大事記 學習者| unique_learner | 下降| trans_price |

| 378 | 8092 | 5204 | 8092 | 3197704.0799999996 |

怎么可以這樣...請幫助

看起來您需要csv格式的輸出。 您可以從cursor.description獲取列名。

嘗試這個:

with open('test.csv', 'w') as f:
    writer = csv.writer(f, delimiter="|")
    csv.writerow([col[0] for col in cursor.description])
    for result in cursor:
        writer.writerow(result)

test.csv

events|learners|unique_learner|dropped|trans_price
367|7200|4543|7200|3216157.0

另外,也可以使用@Mr E建議的字符串格式,而不是使用csv模塊,或僅通過" | ".join(...)聯接值。

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM