如何在python中使用sql结果制作列

时间:2018-06-18 22:17:27

标签: python oracle

我试图在sql中获取一堆数据,其结果集如下:

      Name          Skillset     Point   
1   Student A        Jump         5      
2   Student A        Run          5      
3   Student A        Walk         5      
4   Student B        Jump         2     
5   Student B        Run          2       
6   Student B        Walk         2

我想获得技能组并在python中将它们作为列,但我不确定如何动态地执行它预期的输出将是这样的:

    Name           Jump    Run     Walk
1   Student A        5        5       5
4   Student B        2        2       2

我不确定这是否可以在SQL中完成,但我想知道这在编程方面是否更容易在python中完成。感谢任何建议,帮助,提示。谢谢。

1 个答案:

答案 0 :(得分:0)

Pandas非常适合数据转换。

您可以使用pandas.read_sql_query将数据读取到DataFrame,然后转换DataFrame

import pandas as pd
df = pd.read_sql_query('''select * from your_table''', sql_connection)
print(df.set_index(['Name', 'Skillset']).unstack())