Pandas常用I/O(一)------read_csv(),read_table()

一、Pandas的读取数据和文件的函数

Pandas的读取数据和文件的函数
这里写图片描述

二、常用函数
read_csv() 读取以‘,’分割的文件到DataFrame
read_table()读取以‘/t’分割的文件到DataFrame
实质上是通用的,在实际使用中可以通过对sep参数的控制来对任何文本文件读取。
1、参数说明
这里写图片描述

2、实例:
文本内容为:
这里写图片描述
(1)该文本中的分割符既有空格又有制表符(‘/t’),sep参数用‘/s+’,可以匹配任何空格。
代码如下:

import pandas as pd
df_txt = pd.read_csv('BSEP_NMC_ATME_SOB_EAQI_ACHN_LNO_P9_20160101060000000.TXT',sep='\s+')
print df_txt

结果:

                                            diamond
98286 31 102 34  1 20  34   0.217 6  41 21       19
98249 31 102 23  1 12  23   0.496 17 29 18        3
98204 31 102 43  1 16  43   0.162 29 19 14        2
98138 41 80  119 3 90  9999 3.864 73 7  12       21
98105 41 80  206 5 156 160  4.388 81 40 40       26
98067 38 105 36  1 25  9999 0.822 14 40 40       31
98025 38 105 26  1 18  26   0.879 16 75 75       27
99980 38 105 24  1 13  17   0.199 4  76 77       22
98502 47 88  29  1 4   10   2.637 3  90 88        3

(2)为行和列添加索引
用参数names添加列索引,用index_col添加行索引

import pandas as pd
df_txt = pd.read_csv('BSEP_NMC_ATME_SOB_EAQI_ACHN_LNO_P9_20160101060000000.TXT',sep='\s+',
                     names=['1','2','3','4','5','6','7','8','9','10','11'],index_col=0)
print df_txt

结果如下:

            2      3      4    5      6       7      8     9    10    11
1                                                                       
diamond   NaN    NaN    NaN  NaN    NaN     NaN    NaN   NaN   NaN   NaN
98286    31.0  102.0   34.0  1.0   20.0    34.0  0.217   6.0  41.0  21.0
98249    31.0  102.0   23.0  1.0   12.0    23.0  0.496  17.0  29.0  18.0
98204    31.0  102.0   43.0  1.0   16.0    43.0  0.162  29.0  19.0  14.0
98138    41.0   80.0  119.0  3.0   90.0  9999.0  3.864  73.0   7.0  12.0
98105    41.0   80.0  206.0  5.0  156.0   160.0  4.388  81.0  40.0  40.0
98067    38.0  105.0   36.0  1.0   25.0  9999.0  0.822  14.0  40.0  40.0
98025    38.0  105.0   26.0  1.0   18.0    26.0  0.879  16.0  75.0  75.0
99980    38.0  105.0   24.0  1.0   13.0    17.0  0.199   4.0  76.0  77.0
98502    47.0   88.0   29.0  1.0    4.0    10.0  2.637   3.0  90.0  88.0

(3)我们不想要diamond那一行,可以用header来控制
代码如下:

import pandas as pd
df_txt = pd.read_csv('BSEP_NMC_ATME_SOB_EAQI_ACHN_LNO_P9_20160101060000000.TXT',sep='\s+',
                     names=['1','2','3','4','5','6','7','8','9','10','11'],index_col=0,header=1)
print df_txt

结果如下:

        1    2    3  4    5     6      7   8   9  10  11
98249  31  102   23  1   12    23  0.496  17  29  18   3
98204  31  102   43  1   16    43  0.162  29  19  14   2
98138  41   80  119  3   90  9999  3.864  73   7  12  21
98105  41   80  206  5  156   160  4.388  81  40  40  26
98067  38  105   36  1   25  9999  0.822  14  40  40  31
98025  38  105   26  1   18    26  0.879  16  75  75  27
99980  38  105   24  1   13    17  0.199   4  76  77  22
98502  47   88   29  1    4    10  2.637   3  90  88   3

这里读取文件用的read_csv( ),用read_table( )的结果是一样的。

  • 14
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值