怎样去读取csv文件:
怎样去读每一行的某一列:
#提取并读取数据 读取每天的最高气温
import csv
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
reader =csv.reader(f) #按行读取csv文件中的数据
header_row = next(reader) #返回文件下一行,这里即第一行
highs = []
for row in reader:
highs.append(int(row[1])) #最高气温的索引为1,为方便绘表用int将字符串转化为数字
print(highs)
从文件中获取日期,最高气温和最低气温绘制图表:
import csv
from datetime import datetime
from matplotlib import pyplot as plt
#从文件中获取日期和最高气温
filename = 'death_valley_2014.csv'
with open(filename) as f:
reader =csv.reader(f) #按行读取csv文件中的数据
header_row = next(reader) #返回文件下一行,这里即第一行
dates,highs,lows = [],[],[]
for row in reader:
try: #防止出现空字符串无法转换的情况,异常处理
current_date = datetime.strptime(row[0], "%Y-%m-%d")
high = int(row[1])
low = int(row[3])
except ValueError:
print(current_date, 'missing data')
else:
dates.append(current_date)
highs.append(int(row[1])) #最高气温的索引为1,为方便绘表用int将字符串转化为数字
lows.append(int(row[3]))
print(highs)
#根据数据绘制图形
fig = plt.figure(dpi=128,figsize=(10,6)) #dpi分辨率,figsize窗口尺寸,jupyter好像没区别
plt.plot(dates,highs,c='red',alpha=0.5) #alpha不透明度,0-1
plt.plot(dates,lows,c='blue',alpha=0.5)
#给图表区域着色
plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.1)
#设置图形的格式
plt.title("Daily high and low temperatures - 2014\nDeath Valley, CA", fontsize=20)
plt.xlabel('', fontsize=16)
fig.autofmt_xdate() #调用fig.autofmt_xdate()来绘制斜的的日期标签
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)
plt.show()
版权声明:本文为qq_42002794原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。