2013-06-10 2 views
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 |

как можно сделать таким образом ... Пожалуйста, помогите

ответ

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 

В качестве альтернативы, вместо того чтобы использовать модуль CSV, вы можете использовать строку форматирования, как предложено @Mr E, или просто присоединиться значения через " | ".join(...).

Надеюсь, что это поможет.

+0

Спасибо за ответ ... ну, я читал файл формата csv, и я передаю запрос в базу данных .... и мне нужен результат вроде этого .. – user2470026

Смежные вопросы