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

本文介绍了Python中数据获取的方式,包括本地文件的读写和网络数据抓取,涉及urllib等库的使用。此外,文章详细讲解了序列的概念,如数组、列表、字典的操作,以及字符串和列表的常见函数。还探讨了元组的特性及其在函数参数和返回值中的应用。
摘要由CSDN通过智能技术生成

三、数据获取

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 sequence if 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值