python读取txt天气数据并使用matplotlib模块绘图

  天气数据可以从网上下载,这个例子的数据是从http://data.cma.cn/下载而来的。

  下载的数据装在txt文件中。

  

  里面包含了12年开始北京的月最低和最高温度。

  读取数据:

1 with open(‘S201812261702093585500.txt‘) as file_object:
2     lines=file_object.readlines()

  将txt中的数据逐行存到列表lines里 lines的每一个元素对应于txt中的一行。然后将每个元素中的不同信息提取出来:

1 file1=[]
2 row=[]
3 for line in lines:
4     row=line.split() #指定空格作为分隔符对line进行切片
5     file1.append(row)

  这样,所有的信息都存在了中file1中,file1嵌套了列表row,file1中的每一元素包含了一个列表,所有的信息都被分隔开了。

  可以print(file1)看一下:

  需要使用第2、3、4、5列的年、月、最低温度、最高温度信息,将它们分别提取出来。

 1 date=[]
 2 highs=[]
 3 lows=[]
 4 for row1 in file1:
 5     a=row1[1]+"-"+row1[2] #合并年月
 6     date.append(a) 7 for row1 in file1:
 8     lows.append(row1[3])
 9     highs.append(row1[4])

  在读数据时将表头也读进去了,删除列表第一个元素

1 del highs[0]
2 del lows[0]
3 del date[0]

  现在,日期和温度数据被分别存在date、highs、lows三个列表里,但是还不能直接使用,因为提取出来的都是字符型数据,转换数据格式为int型:

1 int_highs=[]
2 for str_h in highs:
3     a=int(float(str_h))
4     int_highs.append(a)
5
6 int_lows=[]
7 for str_l in lows:
8     a=int(float(str_l))
9     int_lows.append(a)

  将日期转换为日期格式,需要使用datetime模块,在文件开头加上from datetime import datetime,:

1 from datetime import datetime
2 dates=[]
3 for a in date:
4     current_dates=datetime.strptime(a,‘%Y-%m‘)
5     dates.append(current_dates)

  导入matplotlib模块

1 from matplotlib import pyplot as plt
2 import matplotlib.dates as mdates

  下面就准备画图啦:

 1 fig=plt.figure(figsize=(10,6))
 2 ax1=fig.add_subplot(111) # 将画面分割为1行1列选第一个
 3 ax1.xaxis.set_major_formatter(mdates.DateFormatter(‘%Y-%m‘))#设置横轴为日期格式
 4 ax1.plot(dates,int_highs,c="red")#画最高温度,颜色红
 5 ax1.plot(dates,int_lows,c="blue")#画最低温度,颜色蓝
 6 fig.autofmt_xdate()
 7 ax1.set_title("Daily Max and Min TemperatureC",fontsize=14)#标题
 8 ax1.set_ylabel("Temperature  (℃)")#纵轴label
 9 ax1.tick_params(direction=‘in‘)#刻度向里
10 plt.show()

  画好的图:

  

原文地址:https://www.cnblogs.com/winterbear/p/10188101.html

时间: 2024-07-30 22:52:32

python读取txt天气数据并使用matplotlib模块绘图的相关文章

Python进阶(四十)-数据可视化の使用matplotlib进行绘图

Python进阶(四十)-数据可视化の使用matplotlib进行绘图 前言 ??matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图.实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间.用户在熟悉了核心对象之后,可以轻易的定制图像.matplotlib的对象体系也是计算机图形学的一个优秀范例.即使你不是Python程序员,你也可以从文中

Python进阶(三十九)-数据可视化の使用matplotlib进行绘图分析数据

Python进阶(三十九)-数据可视化の使用matplotlib进行绘图分析数据 ??matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. ??它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. ??在Linux下比较著名的数据图工具还有gnuplot

python读取txt、csv和excel文件

一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.close() for line in lines: username = line.split(',')[0] password = line.split(',')[1] 注:第一句是以只读方式打开文本文件:第二个是读取所有行的数据(read:读取整个文件:readline:读取一行数据):最后一定要关

Python读取txt文件

Python读取txt文件,有两种方式: (1)逐行读取 1 data=open("data.txt") 2 line=data.readline() 3 while line: 4 print line 5 line=data.readline() (2)一次全部读入内存 1 data=open("data.txt") 2 for line in data.readlines(): 3 print line

Python读取txt文件报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0

Python使用open读取txt中文内容的文件时,有可能会报错,报错内容如下:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0. 这里举一个例子:txt=open("threekingdoms.txt","r",encoding="utf-8").read(),在运行时就会报错. 要处理这个问题有两个办法,如下: 第一个办法,将编码方式由utf-8改为g

python读取txt文件以空行作为数据的切分处理

先举个例子,如下test.txt文件数据,需要提取每条数据的title和content, 单独保存到文件中: spiderTime:{'num':'12223'} title:中国保险1xxx summary: 请在xxx content: 当事人11sfdffghfhgfjjd tag:1 spiderTime:{'num':'12224'} title:中国保险2xxx summary: 请在xxx content: 当事人22sfdfffdffghfjd tag:2 spiderTime:

python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库

前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用的IDE是 “神奇” 的 pycharm: 1. 首先新建一个python的项目,并且安装 “mysql-connector-python”. “mysql-connector-python” 是MySQL官方对于python的数据驱动,感兴趣的童鞋可以移步这里: https://dev.mysql

python读取EXCLE文件数据

python读取EXCEL,利用 Google 搜索 Python Excel,点击第一条结果http://www.python-excel.org/ ,能够跨平台处理 Excel. 按照文档一步步去做,要安装 三个包: xlrd(用于读Excel): xlwt(用于写Excel): xlutils(处理Excel的工具箱) 1 from xlrd import open_workbook 2 import re 3 4 #创建一个用于读取sheet的生成器,依次生成每行数据,row_count

Python读取SQLite文件数据

近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性.并发性要求不高的场景下可以尝试! 1.SQLite简介: SQLite是一个进程内的库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它(如安卓系统),它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多