输入输出分类:
- 读取文本文件
- 其他更高效的磁盘存储格式
- 加载数据库中数据
- 利用Web API操作网络资源
读取文本格式的数据
pandas提供了将表格数据读取为DataFrame对象的函数;其中read_csv和read_table是应用最多的两个:
函数 | 说明 |
---|---|
read_csv | 从文件、URL、文件型对象中加载带分隔符的数据;默认逗号 |
read_table | 从文件、URL、文件型对象中加载带分隔符的数据;默认制表符”\t” |
类型推断是这些函数中最重要的功能之一。
1 | $ cat ex1.csv |
对于没有标题行的文件
1 | $ cat ex2.csv |
指定索引
1 | # 指定索引 |
1 | # 非固定分隔符,需要正则表达式 |
跳过异常行(使用参数skiprows)
1 | $ cat ch06/ex4.csv |
可以认为1,3,4行为异常数据
1 | print pd.read_csv('../pydata-book-master/ch06/ex4.csv', skiprows=[0,2,3]) |
逐块读取文本文件
大文件只想读取一小部分或者逐块对文件进行迭代
1 | result = pd.read_csv('../pydata-book-master/ch06/ex6.csv', nrows=5) |
逐块读取;用到chunksize(行数)
1 | # chunker = pd.read_csv('../pydata-book-master/ch06/ex6.csv', chunksize=100) |
将数据写到文本格式
1 | data = pd.read_csv('../pydata-book-master/ch06/ex5.csv') |
pandas.read_csv生成的是DataFrame对象;
DataFrame的to_csv方法,可以将数据写到一个用逗号分隔的文件中
1 | data.to_csv('./ch06_out.csv') |
将缺失值替换为其他标记值
1 | data.to_csv(sys.stdout, na_rep='NULL') |
只输出特定列,指定顺序
1 | data.to_csv(sys.stdout, index=False, columns=['a', 'b', 'c']) |
Series也有to_csv()方法
1 | datas = pd.date_range('1/1/2000', periods=7) |
更简单的读取方法from_csv
1 | # print Series.from_csv('./ch06tsseries.csv', parse_dates=True) |
手工处理分隔符格式
场景:pandas.read_table加载表格数据时,由于畸形行导致错误
1 | # $ cat ch06/ex7.csv |
手动写入分隔符文件csv.writer
1 | with open('mydata.csv', 'w') as fw: |
tip:一些东西还是要看源码才最直接
JSON数据
JSON已成为HTTP请求在Web浏览器和其他程序之间发送数据的标准格式之一、
1 | obj1 = """ |
XML和HTML:Web信息收集
1 | # http://finance.yahoo.com/quote/AAPL/options?ltr=1 |
利用lxml.objectify解析XML
1 | from lxml import objectify |
二进制数据格式
1 | # 保存到磁盘上 |
读取Microsoft Excel文件(pandas的ExcelFile类)
1 | xls_file = pd.ExcelFile('../pydata-book-master/ch06/ex1.xlsx') |
使用HTML和Web API
1 | import requests |
使用数据库
1 | # 数据库选择标准:性能、数据完整性、应用程序的伸缩性需求 |
存取MongoDB数据
1 | # 电脑上需要装MongoDB数据库; |
走过了一遍第六章,给我的感觉是,工具很强大,可以做很多数据分析工作,数据结构知识还是匮乏,一些比较复杂的东西还是不能很好的理解,需要加强,多看几遍也是一个方法。
时间上,下班时间有点晚,可以看书的时间都在9点左右,有点晚,太累了,以后下班是不是可以早一点,做饭时间吃饭时间太晚;另外严重缺乏锻炼了,涨了一些肉的,膝盖还是没有恢复,需要针对性锻炼。
记一下,博客的评论插件,多说社会化评论系统已经关闭;选择移除多说或者换成其他的。
………………………………………………2017-03-25 22:57 Sat&合肥-皖水公寓
- 本文作者: Linking
- 本文链接: https://linking.fun/2017/03/25/《利用Python进行数据分析》读书笔记-6-第六章-数据加载、存储和数据格式/
- 版权声明: 版权所有,转载请注明出处!