为什么我没有在运行模块中获得全部输出?

时间:2019-01-07 02:47:14

标签: python pandas

我在屏幕上没有得到全部输出以及列名。

import sqlite3
import pandas as pd
hello = sqlite3.connect(r"C:\Users\ravjo\Downloads\Chinook.sqlite")
rs = hello.execute("SELECT * FROM PlaylistTrack INNER JOIN Track on PlaylistTrack.TrackId = Track.TrackId WHERE Milliseconds < 250000")
df = pd.DataFrame(rs.fetchall())
hello.close()
print(df.head())

实际结果:

    0     1     2                 3    4   ...   6     7       8        9     10
0   1  3390  3390  One and the Same  271  ...   23  None  217732  3559040  0.99
1   1  3392  3392     Until We Fall  271  ...   23  None  230758  3766605  0.99
2   1  3393  3393     Original Fire  271  ...   23  None  218916  3577821  0.99
3   1  3394  3394       Broken City  271  ...   23  None  228366  3728955  0.99
4   1  3395  3395          Somedays  271  ...   23  None  213831  3497176  0.99

[5 rows x 11 columns]

预期结果:

   PlaylistId  TrackId  TrackId              Name  AlbumId  MediaTypeId  \
0           1     3390     3390  One and the Same      271            2   
1           1     3392     3392     Until We Fall      271            2   
2           1     3393     3393     Original Fire      271            2   
3           1     3394     3394       Broken City      271            2   
4           1     3395     3395          Somedays      271            2   

   GenreId Composer  Milliseconds    Bytes  UnitPrice  
0       23     None        217732  3559040       0.99  
1       23     None        230758  3766605       0.99  
2       23     None        218916  3577821       0.99  
3       23     None        228366  3728955       0.99  
4       23     None        213831  3497176       0.99

3 个答案:

答案 0 :(得分:1)

中间的...实际上表示某些数据已从显示中省略。如果要查看整个数据,则应修改pandas选项。您可以使用pandas.set_option()方法。文档here

在您的情况下,应将display.max_columns设置为None,以便熊猫显示无限制的列数。您将不得不从数据库中读取列名称,以进行手动设置。有关如何从数据库本身读取列名的信息,请参考here

答案 1 :(得分:0)

要显示所有列,请使用下面提到的代码段。 pd.set_option("display.max_columns",None)

答案 2 :(得分:0)

默认情况下,pandas限制了要显示的行数。但是,您可以根据需要将其更改为。每当需要打印完整的数据帧时,这就是我使用的辅助功能

def print_full(df):
    import pandas as pd
    pd.set_option('display.max_rows', len(df))
    print(df)
    pd.reset_option('display.max_rows')