python读取csv文件的某一列或某几列
|读取csv某一列数据
import csv
import pandas as pd
with open('test.csv','r') as f:
reader = csv.reader(f)
column = [row[1] for row in reader]
print(column)
按照列属性进行读取
import pandas as pd
datas = pd.read_csv('test.csv',usecols=['name','price','num'])
print(datas)
按照列属性读取数据前十行
import pandas as pd
datas = pd.read_csv('test.csv',usecols=['name','price','num'],nrows=10)
print(datas)
Python读取整个文件之后,读取特定的行,或者列
import pandas as pd
import numpy as pn
df = pd.read_csv('apapay11.csv', header=None, sep=',')
#读取第一行
print(df.iloc[0])
#读取第一列
print(df.iloc[:0])
#读取第四到第十行
df[3:10]
#前两列
print(df.iloc[:,:2])
import pandas as pd
df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8',header=None)
# print(type(df))
df.columns = ['a','b','c','d','e','f']
# 只取一列
# col_data_1 = df['a'] # 单独一列是个series
# col_data_2 = df.loc[:,'a'] # 同上,但比较复杂,一般不用
# col_data_3 = df.iloc[:,0] # 同上,可以在不知道列名的时候用
#
# col_data_4 = df[['a']] # 单独一列是个df
# col_data_5 = df.loc[:,['a']] # 同上,但比较复杂,一般不用
# col_data_6 = df.iloc[:,[0]] # 同上,可以在不知道列名的时候用
# print(col_data_4)
# 获取指定的几列
# cols_data_1 = df[['a','b']] # DataFrame, 指定某几列,直接用列名
# cols_data_2 = df.loc[:,['a','b']] # 同上,但比较复杂,一般不用
# cols_data_3 = df.iloc[:,[0,2]] # 同上,可以在不知道列名的时候用
# print(cols_data_1)
# 获取指定的连续列
# cols_data_4 = df.loc[:,'a':'d'] # 指定连续列,用列名
# cols_data_5 = df.iloc[:,0:4] # 指定连续列,用数字
# print(cols_data_4)
二、不读取整个文件,读取特定的行与列将男性(m)替换为1,女性(f)替换为0
df.ix[df['sex']=='f','sex']=0
df.ix[df['sex']=='m','sex']=1
方法二
df.sex[df['sex']=='m']=1
df.sex[df['sex']=='f']=0