数据载入,存储及文件格式(pandas)

  1. ows将表格型数据读取为DataFrame对象是pandas的重要特性。

  2. csv(Comma-Separated Values):逗号分隔值。

  3. 一些数据加载函数(尤其是read_csv)的可选参数变得很复杂,有大量的不同参数。

  4. 文本格式数据的读写

    文件1:ex1.csv
    1,2,3,4,hello
    5,6,7,8,world
    9,10,11,12,foo
    将其保存为csv文件格式,windows系统上默认为xlsx格式。
    path = r'E:\Toolbox\z_python\examples\ex1.csv'
    
    )1.read_csv
    df = pd.read_csv(path)
    print(df)
       1   2   3   4  hello
    0  5   6   7   8  world
    1  9  10  11  12    foo
    
    )2.read_table(默认分隔符是'\t',可利用sep属性来改变分隔符)
    df2 = pd.read_table(path,sep=',')
    print(df2)
       1   2   3   4  hello
    0  5   6   7   8  world
    1  9  10  11  12    foo
    
    )3.header=None,自动分配列名
    df = pd.read_csv(path,header=None)
    print(df)
       0   1   2   3      4
    0  1   2   3   4  hello
    1  5   6   7   8  world
    2  9  10  11  12    foo
    
    )4.names=['']自己指定列名
    name = ['a','b','c','d','message']
    df = pd.read_csv(path,names = name)
    print(df)
       a   b   c   d message
    0  1   2   3   4   hello
    1  5   6   7   8   world
    2  9  10  11  12     foo
    
    )5.将数据中的某一列选为索引,index_col='列名'
    name = ['a','b','c','d','message']
    df = pd.read_csv(path,names = name,index_col='message')
    print(df)
             a   b   c   d
    message               
    hello    1   2   3   4
    world    5   6   7   8
    foo      9  10  11  12
    
    文件2:ex2.csv
       key1,key2,values1,values2
       one,a,1,2
       one,b,3,4
       one,c,5,6
       one,d,7,8
       two,a,9,10
       two,b,11,12
       two,c,13,14
       two,d,15,16
       path = r'E:\Toolbox\z_python\examples\ex2.csv'
    )6.从多个列中形成分层索引,传入一个包含列序号或列名的列表
    frame = pd.read_csv(path,index_col=['key1','key2'])
    print(frame)
    values1  values2
    key1 key2                  
    one  a           1        2
    b           3        4
    c           5        6
    d           7        8
    two  a           9       10
    b          11       12
    c          13       14
    d          15       16  
    
    
    )7.skiprows跳过指定序列的行
    frame = pd.read_csv(path,skiprows=[0,3,6])
    print(frame)
    one  a   1   2
    0  one  b   3   4
    1  one  d   7   8
    2  two  a   9  10
    3  two  c  13  14
    4  two  d  15  16
    
    )8.na_values可以指定某个值为缺失值,用NaN来替代它
    nrows=x,表明你可以读取文件的前x行
    chunksize=y,表明将文件分块,每一块有y行
    
    )9.to_csv():将数据导出为逗号分隔的文件
        frame = pd.read_csv(path)
        data = frame.to_csv('examples\out.csv')
    
    )10.import sys
        sys.stdout:控制台打印文本
            import sys
            frame = pd.read_csv(path)
            data = frame.to_csv(sys.stdout)       
            ,key1,key2,values1,values2
            0,one,a,1,2
            1,one,b,3,4
            2,one,c,5,6
            3,one,d,7,8
            4,two,a,9,10
            5,two,b,11,12
            6,two,c,13,14
            7,two,d,15,16   
    
  5. 表格型数据的存取

    1.存
    frame = pd.read_csv(path)
    writer = pd.ExcelWriter('examples\one.xlsx')
    frame.to_excel(writer)
    writer.save()
    
    2.存
    frame = pd.read_csv(path)
    frame.to_excel('examples\\two.xlsx'):需要进行转义
    
    3.取
    xlsx = pd.ExcelWriter('examples\one.xlsx')
    x = pd.read_excel(xlsx)
    print(x)
    Unnamed: 0 key1 key2  values1  values2
        0           0  one    a        1        2
        1           1  one    b        3        4
        2           2  one    c        5        6
        3           3  one    d        7        8
        4           4  two    a        9       10
        5           5  two    b       11       1
    
    4.取
        xx = pd.read_excel('examples\one.xlsx')
        print(xx)
        Unnamed: 0 key1 key2  values1  values2
            0           0  one    a        1        2
            1           1  one    b        3        4
            2           2  one    c        5        6
            3           3  one    d        7        8
            4           4  two    a        9       10
            5           5  two    b       11       12
            6           6  two    c       13       14
            7           7  two    d       15       16
    

猜你喜欢

转载自blog.csdn.net/qq_41458842/article/details/102529956