python编程从入门到实战16章x轴_《Python编程从入门到实践》(第16章.下载数据)...

1.分析CSV文件头 P313

import csv

filename = 'death_valley_2014.csv'

with open(filename) as f:

reader = csv.reader(f) #创建一个与文件相关联的阅读器对象,并存储在reader中,只能在with代码块中使用

header_row = next(reader) #返回文件的下一行,这里只调用了一次,所以返回的是文件的第一行

2.模块datetime P316

from datetime import datetime

first_date = datetime.striptime('2014-7-1', '%Y-%m-%d')#将字符创‘2014-7-1’转换成表示相应日期的对象

3.绘制斜的x轴标签 P318

fig.autofmt_xdate()

4.给图标区域着色 P320

使用方法fill_between(),它接受一个x值系列和两个u值系列,并填充两个y值系列之间的空间。

plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1)#alpha指定颜色透明度,0表示完全透明,1表示完全不透明。

5.错误检查 P321

如果数据中某个值为空,python无法将空字符串转换为整数显示在图表上。

为此:

try:

current_date = datetime.strptime(row[0], "%Y-%m-%d")

high = int(row[1])

low = int(row[3])

except ValueError: #缺少一项数据时,Python会引发ValueError异常

print(current_date, 'missing data')

else:

dates.append(current_date)

highs.append(high)

lows.append(low)

6.下载数据 P326

json_url = 'https://raw.githubusercontent.com/muxuezi/btc/master/btc_close_2017.json'

# 读取数据

req = requests.get(json_url ) #request通过get()方法想服务器发送请求,返回的结果存储在变量req中

# 将数据写入文件

with open('btc_close_2017_urllib.json', 'w') as f:

f.write(req.text) #先转换成字符再写到文件中/write() argument must be str, not list

file_requests = req.json() #将数据转换成Python 列表

print(file_requests)

7.将两个列表打包成一个元组,返回列表格式 P332

x = [1,2,3]

y = [4,5,6]

>>>c = zip(x,y)

[(1,4),(2,5),(3,6)]

8.按每个元组中第一个元素分组 P332

for x, y in groupby(c, key=lambda _: _[0]): #x返回索引,y返回一个迭代器,包含了所有分组的列表

9.将一周七天的英文单词替换成1-7的整数 P334

idx_week = dates.index('2017-12-11')

wd = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

weekdays_int = [wd.index(w) + 1 for w in weekdays[1:idx_week]]

weekdays是一个存储了星期几的列表

qq_38122800

发布了20 篇原创文章 · 获赞 0 · 访问量 2049

私信

关注

标签:req,16,Python,编程,datetime,json,reader,date,row

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值