Python玩转数据分析学习笔记-03数据获取

来源:互联网 发布:vscode 支持maven吗 编辑:程序博客网 时间:2024/05/16 11:44

三、数据获取

1.本地数据获取

文件打开以后才能读写

文件的打开:

         file_obj=open(filename,mode=’r’, buffering=-1)

         mod为可选参数,默认值为r

        

mode

function

r

以读模式打开

rU or U

以读模式打开,并提供通用换行符支持

w

以写模式打开(清空原内容)

a

以追加模式打开(从EOF开始,必要时创建新文件)

r+

以读写模式打开

w+

以读写模式打开(清空原内容)

a+

以读和追加模式打开

rb

以二进制读模式打开

wb

以二进制写模式打开,w

ab

以二进制追加模式打开,a

rb+

以二进制读写模式打开,r+

wb+

以二进制读写模式打开,w+

ab+

以二进制读写模式打开,a+

 

         buffering也为可选参数,默认值为-10代表不缓冲,1或大于1的值表示缓冲一行或制定缓冲区大小)

文件相关函数:

返回值:open()函数返回一个文件(file)对象

文件对象可迭代

有关闭方法和许多读写相关的方法/函数:

-f.read(), f.write(), f.readline(), f.readlines(),f.writeline(), f.writelines()

-f.close()

-f.seek()

对象.方法(参数)

 

f.read(size) 通过size指定读出来的字符数

f.seek(offset,whence=0)

         -在文件中移动文件指针,从wence0表示文件头部,1表示当前位置,2表示文件尾部)偏移offset个字节

 

 

2.网络数据获取

网络数据如何获取?——抓取网页解析网页内容

urllib

urllib2

httplib

httplib2

 

urllib:

import urllib

r=urllib.urlopen(网址)

r.read(), r.readline(), r.readlines(),

r.close()

 

 

3.序列

数组、列表、字典

 

切片:a[起始位:结束位:增量]

 

序列类型转换工厂函数:

list()                   转成列表

str()                  

Unicode()

basestring()

tuple()               转成元组

序列类型可用内建函数:

enumerate()

len()

max()

reversed()

sorted()

sum()

zip()

 

 

4.字符串

格式运算符%

格式化字符

转换方式

%c

转换成字符(ASCII值或长度为1的字符串)

%r

优先使用repr()函数进行字符串转换

%s

优先使用str()函数进行字符串转换

%d/%i

转换成带符号的十进制整数

%u

转换成无符号十进制整数

%o

转换成无符号八进制数

%x/%X

转换成无符号十六进制数(x/X表示大小写)

%e/%E

转换成科学计数法

%f/%F

转换成浮点数(部分小数自然截断)

%g/%G

选择%e/%f或%E/%F中输出更短的形式输出

%%

输出%

 

格式运算符辅助符

符号

功能

*

定义宽度或精度

-

用作左对齐

+

在正数前显示加号

<sp>

在正数前显示空格

#

在八进制数前显示零,在十六进制前显示’0x’或’0X’

0

显示数字时前面用0填充而不是默认的空格

%

‘%%’输出一个’%’

(var)

映射变量(参数为字典)

m.n

m是显示的最小总宽度,n是小数点后的位数(如果可用的话)

 

 

字符串的内建函数:

 

转义字符

字符

说明

\0

空字符

\a

响铃

\b

退格

\t

横向制表符

\n

换行

\v

纵向制表符

\f

换页

\r

回车

\e

转义

\”

双引号

\’

单引号

\\

反斜杠

\(在行尾时)

续行符

 

 

 

5.列表

[ ]

可扩展的容器对象

可以包含不同类型的对象

list.sort()                   排序

list.pop()                    去掉结尾元素

list.pop(n)                 去掉标号为n的元素

list.append(元素)   在末尾加入元素

list.extend(list2)      合并两个列表

list.count()

list.index()

list.insert()

list.remove()

list.reverse()

 

列表解析:动态创建列表,简单灵活应用

[expression for expr in sequenceif condition]

 

 

6.元组

( )              元组-圆括号

内容不可改变,不支持元素赋值

可以使用sorted()函数排序,因为sorted()不改变原本的内容,新生成一个副本列表。

不能使用sort()函数,因为sort()函数要改变原本的顺序。

 

元组的应用:

①  在映射类型中当作键使用

②  函数的特殊类型参数

③  作为很多内建函数的返回值

元组作为函数的形式参数:

def func(args1, *argst):

         print args1

         print argst

>>>func(‘Hello,’, ‘A’ , ‘B’ , ‘C’)

Hello,

(‘A’ , ‘B’ , ‘C’)

元组作为返回类型:

返回对象的个数

返回类型

0

None

1

object

>1

tuple

原创粉丝点击