当前位置:   article > 正文

python处理csv格式数据_red=csv.read(f)

red=csv.read(f)

1.气温数据分析`在这里插入代码片

import csv
from matplotlib import pyplot as plt
from datetime import datetime
filename = 'sitka_weather_07-2014.csv' #将文件名称存储在filename中
with open(filename) as f: #打开文件 并存在f中
    reader =csv.reader(f) #调用csv.reader()函数 创建一个与文件f相关联的阅读器对象
    header_row =next(reader)#函数next()返回文件的下一行 即头文件
    #for index,column_header in enumerate(header_row): #调用枚举函数enumerate()来获取每个元素的索引及其值
        #print(index,column_header)

    #从文件中获取最高温和日期
    highs=[]
    dates=[]
    for row in reader:#遍历余下各行
        current_date =datetime.strptime(row[0],"%Y-%m-%d") #调用datetime的方法striptime 按照要求的格式打印出日期
        dates.append(current_date)
        high=int(row[1])
        highs.append(high)
    #print(highs)


#根据数据绘制图形
fig = plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs,c="red")

#设置图形格式
plt.title("Daily high temperatures,july 2014",fontsize =24)
plt.xlabel(" ",fontsize =16)
fig.autofmt_xdate()#绘制斜的日期标签,以免他们彼此重叠
plt.ylabel("Temperature(F)",fontsize = 16)
plt.tick_params(axis="both",which="major",labelsize = 16)
plt.show()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

气温数据
2.最高温最低温

import csv
from matplotlib import pyplot as plt
from datetime import datetime
filename = 'sitka_weather_2014.csv' #将文件名称存储在filename中
with open(filename) as f: #打开文件 并存在f中
    reader =csv.reader(f) #调用csv.reader()函数 创建一个与文件f相关联的阅读器对象
    header_row =next(reader)#函数next()返回文件的下一行 即头文件
    #for index,column_header in enumerate(header_row): #调用枚举函数enumerate()来获取每个元素的索引及其值
        #print(index,column_header)

    #从文件中获取最高温最低温和日期
    highs=[]
    dates=[]
    lows=[]
    for row in reader:#遍历余下各行
        current_date =datetime.strptime(row[0],"%Y-%m-%d") #调用datetime的方法striptime 按照要求的格式打印出日期
        dates.append(current_date)
        high=int(row[1])
        highs.append(high)
        low =int(row[3])
        lows.append(low)
    #print(highs)


#根据数据绘制图形 给区域着色
fig = plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs,c="red",alpha =0.5) #alpha 指定颜色的透明度 0表示完全透明 1 表示不透明 默认为1
plt.plot(dates,lows,c="blue",alpha=0.5)
plt.fill_between(dates,highs,lows,facecolor = "blue",alpha = 0.1) #函数fill_between传递一个x两个y 指定填充颜色

#设置图形格式
plt.title("Daily high and low temperatures - 2014",fontsize =24)
plt.xlabel(" ",fontsize =16)
fig.autofmt_xdate()#绘制斜的日期标签,以免他们彼此重叠
plt.ylabel("Temperature(F)",fontsize = 16)
plt.tick_params(axis="both",which="major",labelsize = 16)
plt.show()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

最高温最低温
3.处理异常数据

import csv
from matplotlib import pyplot as plt
from datetime import datetime
filename = 'death_valley_2014.csv' #将文件名称存储在filename中
with open(filename) as f: #打开文件 并存在f中
    reader =csv.reader(f) #调用csv.reader()函数 创建一个与文件f相关联的阅读器对象
    header_row =next(reader)#函数next()返回文件的下一行 即头文件
    #for index,column_header in enumerate(header_row): #调用枚举函数enumerate()来获取每个元素的索引及其值
        #print(index,column_header)

    #从文件中获取最高温最低温和日期
    highs=[]
    dates=[]
    lows=[]
    for row in reader:#遍历余下各行
        try:
            current_date = datetime.strptime(row[0], "%Y-%m-%d")  # 调用datetime的方法striptime 按照要求的格式打印出日期
            high = int(row[1])
            low = int(row[3])
        except ValueError:
            print(current_date,"missing date")
        else:
            dates.append(current_date)
            highs.append(high)
            lows.append(low)
    #print(highs)


#根据数据绘制图形 给区域着色
fig = plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs,c="red",alpha =0.5) #alpha 指定颜色的透明度 0表示完全透明 1 表示不透明 默认为1
plt.plot(dates,lows,c="blue",alpha=0.5)
plt.fill_between(dates,highs,lows,facecolor = "blue",alpha = 0.1) #函数fill_between传递一个x两个y 指定填充颜色

#设置图形格式
plt.title("Daily high and low temperatures - 2014\nDeath_Valley, CA",fontsize =24)
plt.xlabel(" ",fontsize =20)
fig.autofmt_xdate()#绘制斜的日期标签,以免他们彼此重叠
plt.ylabel("Temperature(F)",fontsize = 16)
plt.tick_params(axis="both",which="major",labelsize = 16)
plt.show()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

异常数据处理
2014-02-16 00:00:00 missing date

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/212582
推荐阅读
相关标签
  

闽ICP备14008679号