一周速成 python
write 写入内存
flush 写入硬盘
运行结果
close方法 包含了flush功能!!!
文件的追加
文件读写小练习
将这份文件 的正式 内容进行备份 写入另外一个txt文件中
split之后得到的是一个用 “,”分隔的列表
执行后得到
第九章 异常
这一章节在学习 java 的时候学习过但是没搞太明白当时
捕获异常
try:
可能出现的异常
except:
如果出现异常 运行的代码
还可以具体问题具体解决
这样可以创建多个 except 异常 ,用于应对不同的异常 进行不同的处理
或者用一个 元组 多个异常 放入一个except
异常的传递
模块
模块的导入
按住ctrl 点击 模块
可以查看模块
导入 time 模块
只导入sleep 函数
给time 改个名字 用着可能更方便
自定义模块
main 变量
python包
win+r cmd
在终端中 输入 pip install + 包名
就能快速安装第三方包
ctrl+c 可以快速停止 当前执行的 命令
这个网速很慢 可以用国内的镜像网站进行安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称
快很多 几秒钟就完成了 !!
还可以在 pycharm中安装
点击这里 解释器 设置 然后加号
同样比较慢
直接 在这里 使用镜像网站下载
直接关闭就可以后台下载了
小练习:
创建一个包
根据要求创建两个类
def print_file_info(file_name):
'''
输入文件路径打印文件内容
:param file_name:
:return:
'''
try:
f = open("file_name",'r',encoding='UTF-8')
print(f)
except Exception as e:
print(f"出现{e}问题")
finally:
if f:
f.close()
def append_to_file(file_name,data):
f1 = open(f"{file_name}", 'a', encoding='UTF-8')
f1.write(data)
f1.close()
if __name__ == '__main__':
append_to_file("E:/py/aaa.txt","阿邓天下无敌")
def str_reverse(s):
'''
将字符串反转
:param s:
:return:
'''
return s[::-1]
def substr(s,x,y):
"""
按照下表开始切片
:param s: 传入字符串
:param x: 开始下标
:param y: 结束下标
:return:
"""
return s[x:y]
这一章学完了 晚上继续学习下一张 先溜了 2022/11/29
第十章 这是这篇文章最后一章 python数据可视化
Echarts包 的使用
学习目标 :
锻炼编程能力
巩固python语法
可视化的学习
JSON
用于各个编程语言的统一数据格式
相当于 python 中的列表和字典
结果可以看到不是汉字
加上一个参数 ensure_ascii=False (表示不是同 ascii 码) 就可以显示中文了
同样 json 也可以变为 python的字典列表
使用loads()
这样就可以 把字符串转为 字典了使用 for循环 切分等操作了
pycharts模块
数据可视化的框架
pyecharts.org
pyecharts - A Python Echarts Plotting Library built with love.
中文简介 - Document (pyecharts.org)
懒人工具-json在线解析-在线JSON格式化工具-json校验-程序员必备 (ab173.com)
import json
from pyecharts.charts import Line
f_us = open("E:/py/美国.txt",'r',encoding='UTF-8')
f_jp = open("E:/py/日本.txt",'r',encoding='UTF-8')
f_id = open("E:/py/印度.txt",'r',encoding='UTF-8')
us_data = f_us.read()
jp_data = f_jp.read()
id_data = f_id.read()
us_data = us_data.replace('jsonp_1629344292311_69436(','')
us_data = us_data[:-2]
jp_data = jp_data.replace('jsonp_1629350871167_29498(','')
jp_data = jp_data[:-2]
id_data = id_data.replace('jsonp_1629350745930_63180(','')
id_data = id_data[:-2]
#去掉开头和结尾不符合规范的内容
us_dict = json.loads(us_data)
jp_dict = json.loads(jp_data)
id_dict = json.loads(id_data)
# print(type(us_dict))
# print(us_dict)
us_trend_data = us_dict['data'][0]['trend']
x_us = us_trend_data['updateDate'][0:314]
y_us = us_trend_data['list'][0]['data'][0:314]
jp_trend = jp_dict['data'][0]['trend']
x_jp = jp_trend['updateDate'][0:314]
y_jp = jp_trend['list'][0]['data'][0:314]
idtrend = id_dict['data'][0]['trend']
x_id = idtrend['updateDate'][0:314]
y_id = idtrend['list'][0]['data'][0:314]
line = Line()
line.add_xaxis(x_us)
line.add_yaxis('美国确诊人数',y_us)
line.add_yaxis('日本确诊人数',y_jp)
line.add_yaxis('印度确诊人数',y_id)
line.render()
f_jp.close()
f_id.close()
f_us.close()
完美运行 接下来就是加标题 工具箱等类容了
from pyecharts.options import TitleOpts
line.set_global_opts(
title_opts=TitleOpts(title='2020年美日印三国确诊人数对比折线图',pos_left='center',pos_bottom='1%')
)
完成!
地图
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
map = Map()
data = [
('北京',99),
('上海',199),
('湖南',299),
('安徽',299),
('广州',399),
('湖北',599),
]
map.add('地图',data,'china')
map.render()
地图的全局选项:
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
map = Map()
data = [
('北京',99),
('上海',199),
('湖南',299),
('安徽',299),
('广州',399),
('湖北',599),
]
map.add('地图',data,'china')
map.set_global_opts(
visualmap_opts=VisualMapOpts(
#校准范围
is_show=True,
is_piecewise=True,
#开启手动校准范围
pieces=[
{'min': 1, "max": 9, 'lable': '1-9人','color':'#CCFFFF'},
{'min': 1, "max": 99, 'lable': '10-99人', 'color': '#FFFF99'},
{'min': 1, "max": 999, 'lable': '100-999人', 'color': '#FF9966'},
{'min': 1, "max": 9999, 'lable': '1000-9999人', 'color': '#FF6666'},
{'min': 1, "max": 99999, 'lable': '10000-99999人', 'color': '#CC3333'},
{'min': 1, 'lable': '100000人以上', 'color': '#990033'},
]
#手动调整的具体参数
)
)
map.render()
全国疫情地图