读取csv
pd.read_csv( ) 默认 逗号为分隔符,默认 首行作为 columnsName
pd.read_csv(‘data/ex1.csv’)
pd.read_table() 也可以读取,但是要指定 分隔符参数 sep=’’
pd.read_table(‘data/ex1.csv’,sep=’,’)
pd.read_csv( ) 默认 逗号为分隔符,默认 首行作为 columnsName
pd.read_csv(‘data/ex1.csv’)
自定义列名称 ,参数 names=[ ]
names 给几列,就会从最后向前读几列数据,剩下的都是 index
超出列就是 nan
df3 = pd.read_csv(‘data/ex2.csv’,names=[‘aa’,‘bb’,‘cc’,‘dd’,‘message’,‘ee’])
df3
设置 行索引 index_col = ‘某个列name’
df4 = pd.read_csv(‘data/ex2.csv’,
names=[‘aa’,‘bb’,‘cc’,‘dd’,‘message’],
index_col=‘message’
)
df4
多列作为行索引
df5 = pd.read_csv(‘data/csv_mindex.csv’,
index_col = [‘key1’,‘key2’]
)
df5
多列作为行索引
df5 = pd.read_csv(‘data/csv_mindex.csv’,
index_col = [‘key1’,‘key2’]
)
df5
读取 使用不规则的分隔符的 数据 ,使用 sep= ‘’
使用正则表达式作为分隔符 ,不需要导入 re 。直接写正则字符串
\s+
df6 = pd.read_csv(‘data/ex3.txt’,sep=’\s+’)
df6
使用 skiprows = [] 跳过一些行
df7 = pd.read_csv(‘data/ex4.csv’,skiprows=[0,2,3])
df7
comment=’#’ 指定 # 开头的是注释,不用读取
pd 需要读取xxx值为nan,参数 na_values=[] .空值 与 NA 字符默认是nan了
df8 = pd.read_csv(‘data/ex5.csv’,na_values=[1,2,‘two’])
df8
指定不同列的不同数据为 nan
用字典匹配 ,某个列的一个值或多个值
nans = {‘something’:‘two’ ,‘message’:[‘foo’,‘world’]}
df9 = pd.read_csv(‘data/ex5.csv’ ,na_values=nans)
df9
模拟创建一个成绩表,语文,数学,英语。各科成绩有重复。
names = ‘尺,寸,人,下,匕,卜,之,田,丫,乃,贝,井,工,几,女,巨,爪,火,了,方,木,中,寸,石,户,友,夫,不,可,主,又,丑,巾,口,电,门,术,儿,羊,丁,心,天,化,气,正,页,兄,伏,大,计’.split(’,’)
df10 = DataFrame(
{
‘语文’:np.random.randint(90,100,50),
‘数学’:np.random.randint(80,100,50),
‘英语’:np.random.randint(60,100,50),
‘化学’:np.random.randint(60,100,50),
‘物理’:np.random.randint(60,100,50),
‘生物’:np.random.randint(60,100,50),
‘政治’:np.random.randint(60,100,50),
‘历史’:np.random.randint(60,100,50),
‘地理’:np.random.randint(60,100,50),
},
index = [np.random.choice(list('赵钱孙李周吴郑王'))+names.pop(np.random.randint(0,len(names))) for i in range(50)]
)
df10
保存 , 默认行列索引都存进去了
df10.to_csv(‘成绩.csv’,encoding=‘utf-8’)
header = False ,不要列索引
header = False ,不要列索引
df10.to_csv(‘成绩2.csv’ ,header=False)
na_rep = ‘xx’ 将 nan 换成xx进行存储,默认是 空
先改个值为 nan
df10.iloc[0,3] = NA
df10.to_csv(‘成绩3.csv’,na_rep=‘空’)
预览存储效果 sys.stdout
import sys
以竖线为分隔符的预览效果
df10.to_csv(sys.stdout,sep=’|’,na_rep=‘空空如也’)
读取我们自己存储的 成绩.csv ,人名作为行索引
data = pd.read_csv(‘成绩.csv’,index_col=‘Unnamed: 0’)
data
import openpyxl
存储 。前提需要 安装 openpyxl
data.to_excel(‘成绩1.xlsx’)
data.to_excel(‘成绩1.xlsx’,startrow=1 ,encoding=‘utf-8’)
读取excel ,参数同 读取 csv ,多了个 sheet_name 。
需要 xlrd 模块
pd.read_excel(‘成绩1.xlsx’)
读取excel ,参数同 读取 csv ,多了个 sheet_name 。
需要 xlrd 模块
pd.read_excel(‘成绩1.xlsx’)