在python中这样格式化的输出

2024-04-20 10:15:57 发布

您现在位置: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升)

但我想喜欢这个

|活动|学习者|独特|学习者|下降|交易|价格|

| 378 | 8092 | 5204 | 8092 | 3197704.079999996 |

怎么能这样。。。请帮忙


Tags: 代码name数据库transexecuteascount学习者
1条回答
网友
1楼 · 发布于 2024-04-20 10:15:57

看起来您需要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

或者,不使用csv模块,您可以使用@Mr E建议的字符串格式,或者只通过" | ".join(...)连接值。你知道吗

希望有帮助。你知道吗

相关问题 更多 >