Pandas(文件格式)
将数据写出到文本格式
数据也可以被输出为分隔符格式的文本

DataFrame的to_csv方法,我们可以将数据写到一个以逗号分隔的文件中

使用其他分隔符(由于这里直接写出到sys.stdout,所以仅仅是打印出文本结果而已)

缺失值在输出结果中会被表示为空字符串。你可能希望将其表示为别的标记值。

没有设置其他选项,则会写出行和列的标签。当然,它们也都可以被禁用。

你还可以只写出一部分的列,并以你指定的顺序排列。


处理分隔符格式
JSON数据 pandas.read_json可以自动将特别格式的JSON数据集转换为Series或DataFrame

从pandas输出到JSON,使用to_json方法

XML和HTML:Web信息收集
pandas有一个内置的功能,read_html,它可以使用lxml和Beautiful Soup自动将HTML文件中的表格解析为DataFrame对象。
使用例子数据:美国联邦存款保险公司一个HTML文件,它记录了银行倒闭的情况。
安装read_html用到的库
conda install lxml
pip install beautifulsoup4 html5lib
需要说明的是安装第三库需要退出ipython的环境,也就是一开始进来的地方。笔者已经安装过了,所以显示页面会有所不同。


做一些数据清洗和分析,比如计算按年份计算倒闭的银行数

二进制数据格式
pandas对象都有一个用于将数据以pickle格式保存到磁盘上的to_pickle方法

读取pickle数据

注意: pickle仅建议用于短期存储格式。其原因是很难保证该格式永远是稳定的;今天pickle 的对象可能无法被后续版本的库unpickle出来。
使用HDF5格式
HDF5是一种存储大规模科学数组数据的非常好的文件格式。它可以被作为C标准库,带有许多语言的接口,如Java、Python和MATLAB等。HDF5中的HDF指的是层次型数据格式 (hierarchical data format)。每个HDF5文件都含有一个文件系统式的节点结构,它使你能够存储多个数据集并⽀支持元数据。与其他简单格式相比,HDF5支持多种压缩器的即时压缩, 还能更高效地存储重复模式数据。对于那些非常大的无法直接放入内存的数据集,HDF5就是 不错的选择,因为它可以高效地分块读写。

HDF5文件中的对象可以通过与字典一样的API进行获取

HDFStore支持两种存储模式,’fixed’和’table’。后者通常会更慢,但是支持使用特殊语法进行查询操作。

读取Microsoft Excel文件
pandas的ExcelFile类或pandas.read_excel函数支持读取存储在Excel 2003(或更高版本)中的表格型数据。这两个工具分别使用扩展包xlrd和openpyxl读取XLS和XLSX文件。你可以用 pip或conda安装它们。

将pandas数据写入为Excel格式


Web APIs交互

数据库交互
在商业场景下,大多数数据可能不是存储在文本或Excel文件中。基于SQL的关系型数据库 (如SQL Server、PostgreSQL和MySQL等)使用非常广泛。
这种数据规整操作相当多,你肯定不想每查一次数据库就重写一次。SQLAlchemy项目是一个 流行的Python SQL工具,它抽象出了SQL数据库中的许多常见差异。pandas有一个read_sql 函数,可以让你轻松的从SQLAlchemy连接读取数据。
