一、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( )的结果是一样的。