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文件
发布评论