之前写的numpy和pandas都是基于一个前提下,那就是我们可以把数据直接导入到Python中进行操作,否则之前的学习都是没有意义的,而不论是pandas又或者是numpy都有提供这方面的方法,因此我们不再需要直接用Python进行io流读写,而是借助这两个工具库进行读取。
读写文本格式数据
read_csv:这个方法是我平常最常用的一种方法,因为它的方便快捷,可以直接读取csv文件,并将读取到的数据直接转化为pandas中的数据结构。
read_table:这个方法要比read_csv方法更加的强大,因为它读取文件的范围不仅仅是csv文件。
read_fwf:这个方法在平常的数据分析中并不是被经常的使用,但是它的功能是其他的方法无法替代的——读取定宽列格式数据,也就是说没有分隔符的数据
read_clipboard:读取粘贴板中的数据
read_csv方法
read_csv方法中有一个参数是用来指定表头的,一般默认是第一行,但并不是所有的数据都有表头的,这个时候可以使用header=None参数生成默认表头,或者使用names参数出入一个list用来指定列标。
index_col参数可指定存在的列作为行索引
skiprows 参数可以跳过文件中指定的行
nrows参数可以用来指定读取几行数据
read_table方法
read_table方法最重要的一个参数就是sep,这个参数是用来指定分割符的。sep参数不止可以是字符串还可以是正则表达式。
将数据写出到文本格式
data = pd.read_csv('test.csv')
data.to_csv('good.csv')
to_csv方法
sep参数可用来指定写出文件的分隔符
na_rep参数用来指定缺失值用什么来写出,你可能希望用别的方式表示缺失值
cols参数可以用来指定列的排列顺序
二进制数据格式文件读取
save方法是将文件保存为二进制
同样的我们可以用load方法将数据文件加载进来
json数据的加载
json.loads方法即可将JSON字符串转换成Python形式
json.dumps方法即可将Python形式的json数据转换为字符串
可以将Python形式的json数据主环卫DataFrame
obj = """
{ "people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
]}
"""
result = json.loads(obj)
a = DataFrame(result['people'])
print a
'''
输出结果为:
email firstName lastName
0 aaaa Brett McLaughlin
1 bbbb Jason Hunter
2 cccc Elliotte Harold
'''
网友评论