1

这是查询数据库的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)

但我想喜欢这个

| 活动 | 学习者 | 独特的学习者 | 下降 | trans_price |

| 378 | 8092 | 5204 | 8092 | 3197704.0799999996 |

怎么可以这样...请帮助

4

1 回答 1

1

看起来你需要一个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(...).

希望有帮助。

于 2013-06-10T14:32:46.347 回答