Pandas 数据 IO
文本格式文件操作
输入
最常用的就是 read_csv
函数了,除此之外还有很多种函数,例如从 json,html,excel 中加载数据。
这里抛弃以往的风格,不再写具体的 API,因为没有意义,到时候肯定还是现查,这里只会写一些总结性的东西。
这些函数的参数可以大致归类到以下类别:
- 索引相关
- 类型推断和转换
- 时间解析
- 迭代,用以迭代地处理非常大的文件
- 处理脏数据相关的
输出
data.to_csv(sys.stdout, sep='|', na_rep='NULL')
二进制格式文件操作
可以使用 Python 自带的 pickle 格式:
frame.to_pickle('examples/frame_pickle')
pd.read_pickle('examples/frame_pickle')
也可以使用 HDF5 格式,API 上没什么特别的地方,不再赘述。
值得一提的是,Pandas 可以直接处理 Excel 文件:
xlsx = pd.ExcelFile('examples/ex1.xlsx')
pd.read_excel(xlsx, 'Sheet1')
writer = pd.ExcelWriter('examples/ex2.xlsx')
frame.to_excel(writer, 'Sheet1')
writer.save()
# 或者避免使用 writer:
frame.to_excel('examples/ex2.xlsx')
远程获取数据
从 Web APIs
import requests
url = 'https://api.github.com/repos/pandas-dev/pandas/issues'
resp = requests.get(url)
data = resp.json()
issues = pd.DataFrame(data, columns=['number', 'title', 'labels', 'state'])
从数据库
可以直接用 SQL 获取数据库内的数据:
import sqlalchemy as sqla
db = sqla.create_engine('sqlite:///mydata.sqlite')
pd.read_sql('select * from test', db)
Links: pandas-io