怎样去读取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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_42002794/article/details/108630014