访问数据通常是数据分析的第⼀步。输入输出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用Web API操作网络资源。
6.1 读写文本格式的数据pandas提供了⼀些用于将表格型数据读取为DataFrame对象的函数。下表对它们进行了总结,其中read_csv和read_table可能会是你今后⽤得最多的。
可以使用skiprows跳过文件的第一行、第三行和第四行。
example.csv文件内容如下
#skiprows的作用
import pandas as pd
data=pd.read_csv('F:Data Analysisexample.csv',skiprows=[0,2,3])
data
#输出
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo
逐块读取文本文件
在处理很大的文件时,或找出大文件中的参数集以便于后续处理时,你可能只想读取文件的⼀小部分或逐块对文件进行迭代。
按行读取nrows=10
按块读取chunksize=10
- chunksize=10代码有点问题
- [ ]
将数据写出到文本格式
df.to_csv()
处理分隔符格式
大部分存储在磁盘上的表格型数据都能⽤pandas.read_table进行加载。然而,有时还是需要做⼀些手工处理。由于接收到含有畸形行的文件而使read_table出毛病的情况并不少见。
csv默认使用,做分隔符,也可以用其他的字符做分隔符
JSON数据
HTTP请求在Web浏览器和其他应⽤程序之间发送数据的标准格式之一。
json.dumps 则将Python对象转换成JSON格式。
json.loads 将已编码的 JSON 字符串解码为 Python 对象
pandas.read_json可以自动将特别格式的JSON数据集转换为Series或DataFrame。
pandas.to_json将数据从pandas输出到JSON
XML和HTML:Web信息收集
6.2 ⼆进制数据格式实现数据的高效二进制格式存储最简单的办法之⼀是使用Python内置的pickle序列化。pandas对象都有⼀个用于将数据以pickle格式保存到磁盘上的to_pickle方法。
pandas内置⽀持两个⼆进制数据格式:HDF5和MessagePack。 pandas或NumPy数据的其它存储格式有:
bcolz:⼀种可压缩的列存储⼆进制格式,基于Blosc压缩库。 Feather:我与R语⾔社区的Hadley
Wickham设计的⼀种跨语⾔的列存储文件格式。Feather使用了Apache Arrow的列式内存格式。
读取Excel文件
6.3 Web APIs交互许多网站都有⼀些通过JSON或其他格式提供数据的公共API。通过Python访问这些API的办法有不少。⼀个简单易用的办法(推荐)是requests包(http://docs.python-requests.org)。
用的最多的就是这个
在商业场景下,大多数数据可能不是存储在文本或Excel文件中。基于SQL的关系型数据库(如SQL Server、PostgreSQL和MySQL等)使用非常广泛,其它⼀些数据库也很流行。数据库的选择通常取决于性能、数据完整性以及应⽤程序的伸缩性需求。
这个主要就是SQL语句的掌握了



