import  pandas  as pd
#1:读取指定行
print("----读取指定的单行,数据会存在列表里面----")
df=pd.read_csv('测试.dat')#
data=df.loc[0].values#0表示第一行 这里读取数据并不包含表头,要注意哦!
print("读取指定行的数据:\n{0}".format(data))

print("\n------读取指定的多行,数据会存在嵌套的列表里面----------")
df=pd.read_csv('测试.xlsx')
data=df.loc[[1,2]].values#读取指定多行的话,就要在loc[]里面嵌套列表指定行数
print("读取指定行的数据:\n{0}".format(data))

print("\n----------------读取指定的行列-----------------------")
df=pd.read_csv('测试.xlsx')
data=df.iloc[1,2]#读取第一行第二列的值,这里不需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

print("\n----------------读取指定的多行多列值-----------------------")
df=pd.read_csv('测试.xlsx')
data=df.loc[[1,2],['title','data']].values#读取第一行第二行的title以及data列的值,这里需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

print("\n-----------获取所有行的指定列----------------------------")
df=pd.read_csv('测试.xlsx')
data=df.loc[:,['title','data']].values#读所有行的title以及data列的值,这里需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

print("\n------------获取行号并打印输出---------------------------")
df=pd.read_csv('测试.xlsx')
print("输出行号列表",df.index.values)

print("\n-------------获取列名并打印输出--------------------------")
df=pd.read_csv('测试.xlsx')
print("输出列标题",df.columns.values)

print("\n------------获取指定行数的值---------------------------")
df=pd.read_csv('测试.xlsx')

print("输出值",df.sample(3).values)#这个方法类似于head()方法以及df.values方法
print("\n-----------获取指定列的值----------------------------")
df=pd.read_csv('测试.xlsx')
print("输出值\n",df['data'].values)

#获取总行数
lines=df.shape[0]
#查看各列数据类型
print(df.dtypes)

#读取dat文件
#delimiter:读取具有分隔符的数据
#dtype:第0,5,19列以字符串格式读取
pd.read_csv('xxx.dat',header=None,encoding='utf-8',delimiter='|',quoting=3,low_memory=False,dtype = {0:str,5:str,19:str})
#写入dat文件
#index=0:索引不写入
#sep='|':写入具有分隔符的数据
df.to_csv('xxx.dat',header=None,encoding='utf-8',sep='|',quoting=3,index=0)
>>> df
     name  score grade
id                    
a     bog     45     A
b   jiken     67     B
c     bob     23     A
d   jiken     34     B
e    lucy     98     A
f    tidy     75     B
# 获取name列
>>> df['name']
id
a      bog
b    jiken
c      bob
d    jiken
e     lucy
f     tidy
Name: name, dtype: object

2、使用列表形式
列表形式中,列表中的元素必须是列标识

# 获取name列以及score列
>>> df[['name', 'score']]
     name  score
id              
a     bog     45
b   jiken     67
c     bob     23
d   jiken     34
e    lucy     98
f    tidy     75
# 获取前两列,此处注意df.columns返回的
# 实际是列名的列表,通过切片返回的依旧是
# 列表
>>> df[df.columns[:2]]
     name  score
id              
a     bog     45
b   jiken     67
c     bob     23
d   jiken     34
e    lucy     98
f    tidy     75

```python
# 获取后两列
>>> df[df.columns[-2:]]
    score grade
id             
a      45     A
b      67     B
c      23     A
d      34     B
e      98     A
f      75     B

更多推荐

python读取dat文件