python数据分析之pandas(7)数据读写

pandas提供各种I/O API函数,这里把一些常用的方式分享给大家。

1.读写csv文件

frame = read_csv('a.csv')

//返回DataFrame对象,相关参数如:

names=['','']  指定表头; 

header=None  使用默认表头;

index_col=['color', 'status'],给前2列设置为层级索引

frame.to_csv('a.csv') //保存到csv文件中,相关参数:

index=False //无索引
header=False
na_rep='NaN' //将空字段替换为NaN字符串,可以是其它值

2.读txt文件

frame = read_table('a.txt', sep='\s*')  //以空白字符分割,相关参数:

skiprows=5 //排除前5行,可简写为n=5,skiprows=[5]只排除第5行,skiprows=[1,3,4] //指定行
nrows=3 //从起始往后读多少行
chunksize=3 //逐块读取

3.读写Excel文件

frame = pd.read_excel('a.xls', 'Sheet2'),//默认读第一张表,这里设置为第二张,同样可以设置index和columns参数

4.json数据

>>> import pandas as pd
>>> frame = pd.DataFrame()
>>> import numpy as np
>>> frame = pd.DataFrame(np.arange(4).reshape(2,2),index=['white', 'black'],colu
mns=['up', 'down'])
>>> frame
       up  down
white   0     1
black   2     3
>>> frame.to_json('frame.json')
>>> frame = pd.read_json('frame.json')
>>> frame
       down  up
black     3   2
white     1   0
>>>

可以看出,通过DataFrame对json进行管理还是很方便的

5.HDF5格式

hdf5效率高,使用很广,一般用法如下:

>>> from pandas.io.pytables import HDFStore
>>> store = HDFStore('mydata.h5')
>>> store['obj1'] = frame

注意,需要依赖tables

6.cPickle

cPickle是pickle的优化版,速度快很多

import cPickle as pickle
data = {'a': 'b'}
pickled_data = pickle.dumps(data) //序列化
nframe = pickle.loads(pickled_data) //重建

frame.to_pickle('frame.pkl')
pd.read_pickle('frame.pkl')

7.对接数据库

为各数据库提供统一接口

发布了127 篇原创文章 · 获赞 10 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/u012599545/article/details/104320481