3 数据获取与表示.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《3 数据获取与表示.pdf》由会员分享,可在线阅读,更多相关《3 数据获取与表示.pdf(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、获取与表示 Where are data from? How to represent data? 数据 本地数据获取 用Python玩转数据 2 用Python获取数据 本地数据如何获取? 文件的打开,读写和关闭 打开后才能进行读写 读文件 写文件 文件为什么需要关闭? 3 文件的打开 4 f1 = open(d:infile.txt) f2 = open(rd:outfile.txt, w) f3 = open(record.dat, wb, 0) Source file_obj = open(filename, mode=r, buffering=-1, ) mode为可选参数,默认值为
2、r buffering也为可选参数,默认值为-1(0代表不缓冲,1 或大于1的值表示缓冲一行或指定缓冲区大小) open()函数-mode ModeFunction r 以读模式打开 w以写模式打开(清空原内容) x以写模式打开,若文件已存在则失败 a以追加模式打开(从EOF开始,必要时创建新文件) r+以读写模式打开 w+以读写模式打开(清空原内容) a+以读和追加模式打开 rb以二进制读模式打开 wb以二进制写模式打开(参见w) ab以二进制追加模式打开(参见a) rb+以二进制读写模式打开(参见r+) wb+以二进制读写模式打开(参见w+) ab+以二进制读写模式打开(参见a+) 5 文
3、件相关函数 返回值 open()函数返回一个文件(file)对象 文件对象可迭代 有关闭和读写文件相关的函数/方法 f.read(), f.write(), f.readline(), f.readlines(), f.writelines() f.close() f.seek() 6 写文件-f.write() file_obj.write(str) 将一个字符串写入文件 firstpro.txt : Hello, World! 7 f = open(firstpro.txt, w) f.write(Hello, World!) f.close() Source with open(firs
4、tpro.txt, w) as f: f.write(Hello, World!) Source 读文件-f.read() file_obj.read(size) 从文件中至多读出size字节数据,返回一个字符串 file_obj.read() 读文件直到文件结束,返回一个字符串 Output: Hello, World! 8 with open(firstpro.txt) as f: p1 = f.read(5) p2 = f.read() print(p1,p2) Source 其他读写函数 file_obj.readlines() file_obj.readline() file_obj
5、.writelines() 9 # Filename: companies_a.py with open(companies.txt) as f: cNames = f.readlines() print(cNames) File Output: GOOGLE Inc.n, Microsoft Corporationn, Apple Inc.n, Facebook, Inc. 文件读写例子 # Filename: revcopy.py with open(companies.txt) as f1: cNames = f1.readlines() for i in range(0, len(cN
6、ames): cNamesi = str(i+1) + + cNamesi with open(scompanies.txt, w) as f2: f2.writelines(cNames) File Output: 1 GOOGLE Inc. 2 Microsoft Corporation 3 Apple Inc. 4 Facebook, Inc. 将文件companies.txt 的字符串前加上序号1、2、3、后写到 另一个文件scompanies.txt中。 10 其他文件相关函数 file_obj.seek(offset , whence=0) 在文件中移动文件指针,从 whence(
7、0表示文件头部,1表示 当前位置,2表示文件尾部)偏 移offset个字节 whence参数可选,默认值为0 11 # Filename: companies_b.py s = Tencent Technology Company Limited with open(companies.txt , a+) as f: f.writelines(n) f.writelines(s) cNames = f.readlines() print(cNames) File 标准文件 当程序启动后,以下三种标准文件有效 stdin标准输入 stdout标准输出 1 2 3 stderr 标准错误 12 n
8、ewcName = input(Enter the name of new company: ) Enter the name of new company: Alibiabia print(newcName) Alibiabia Source import sys sys.stdout.write(hello) 网络数据获取 用Python玩转数据 13 用Python获取数据 网络数据如何获取(爬取)? 抓取网页,解析网页内容 抓取 urllib内建模块 urllib.request Requests第三方库 Scrapy框架 解析 Beautiful Soup库 re模块 14 第三方
9、API抓取 +解析 14 Requests库 15 Requests库是更简单、方便和人性化的Python HTTP第三方库 Requests官网:http:/www.python-requests.org/ 基本方法requests.get() 请求获取指定URL位置的资源,对应 HTTP协议的GET方法 import requests r = requests.get( r.status_code 200 print(r.text) Source 遵循网站爬虫协议 robots.txt # 网站最新更新后抓取时需要增加headers属性,将自己的浏览器信息告诉服务器 headers = U
10、ser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 r = requests.get( headers = headers) 道指成分股数据 16 利用Requests库获取道指成分股数据 包含多个字符串 AXP, American Express Company, 77.77 BA, The Boeing Company, 177.83 CAT, Caterpillar Inc., 96.39
11、 17 # Filename: dji.py import requests re = requests.get( # the url may change print(re.text) File 网页数据解析 18 BeautifulSoup是一个可以从HTML 或XML文件中提取数据的Python库 官方网站: re/BeautifulSoup/bs4/doc/ re正则表达式模块进行各类正则表 达式处理 参考网站: https:/docs.python.org/3.5/libr ary/re.html 十几十几岁的时候渴慕着小王子,岁的时候渴慕着小王子, 一天之间可以看四十四次日落。是在
12、多久之后才明白,看一天之间可以看四十四次日落。是在多久之后才明白,看 四十四次日落的小王子,他有多么难过。四十四次日落的小王子,他有多么难过。 apple 1,3,5 != 2,4,6 True aTuple = (BA, The Boeing Company, 184.76) bTuple = aTuple bTuple is not aTuple False 86.40 banana False Source 标准类型运算符 = =!= 值比较 is is not 对象身份比较 not and or 布尔运算 25 序列类型运算符 26 week = Monday, Tuesday, We
13、dnesday, Thursday, Friday, Saturday, Sunday print(week1, week-2, n, week1:4, n, week:6, n, week:-1) Tuesday Saturday Tuesday, Wednesday, Thursday Monday, Tuesday, Wednesday, Thursday, Friday, Saturday Sunday, Saturday, Friday, Thursday, Wednesday, Tuesday, Monday apple * 3 appleappleapple pine + app
14、le pineapple BA in (BA, The Boeing Company, 184.76) True Source 序列类型运算符 27 x in s x not in s s + t s * n, n * s si si:j si:j:k 序列类型转换内建函数 28 list() str() tuple() list(Hello, World!) H, e, l, l, o, , , W, o, r, l, d, ! tuple(Hello, World!) (H, e, l, l, o, , , W, o, r, l, d, !) Source 序列类型其他常用内建函数 29
15、enumerate()reversed() len()sorted() max()sum() min()zip() aStr = Hello, World! len(aStr) 13 sorted(aStr) , !, , H, W, d, e, l, l, l, o, o, r Source 字符串 用Python玩转数据 30 字符串的不同表示形式 31 lf = (AXP, American Express Company, 78.51), (BA, The Boeing Company, 184.76), (CAT, Caterpillar Inc., 96.39), (CSCO, C
16、isco Systems, Inc., 33.71), (CVX, Chevron Corporation, 106.09) aStr = The Boeing Company bStr = The Boeing Company cStr = Im a student. dStr = The Boeing company Source 字符串小例子 32 将字符串“Hello, World!”中的“World”替换成“Python”, 并计算其包含的标点符号(由逗号、句号、感叹号和问号组成) 的个数。 Output: 2 # Filename: puncount.py aStr = Hello
17、, World! bStr = aStr:7 + Python! count = 0 for ch in bStr: if ch in ,.!?: count += 1 print(count) File 字符串与输出形式 33 Output: Punctuation marks = 2 Output: There are 2 punctuation marks. format_string % (arguments_to_convert) print(There are %d punctuation marks. % (count) Output: 2 format_string.forma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能导论
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内