【python】16章 关于csv

代码资源链接

https://www.ituring.com.cn/book/2784
获取资源的链接【已下载】
在这里插入图片描述

next 用于读取列表

python中next()的具体的形式为:next(iterobject,defalt),第一个参数是可迭代的对象,第二个参数可以写也可以不写,不写的时候,如果可迭代的元素取出完毕,会返回StopIteration异常,第二个参数写的时候,当可迭代对象迭代完后,会返回一直返回第二个参数写的那个元素。
————————————————
版权声明:本文为CSDN博主「Mr_HaiDong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Mr_HaiDong/article/details/104001824
在这里插入图片描述

补充:

用next读取完的东西,系统默认不再读取,即以后的程序会从下一行数据开始运行

import csv
import matplotlib.pyplot as plt
from datetime import datetime
filename='sitka_weather_07-2018_simple.csv'
with open(filename) as f:
    reader=csv.reader(f)
    header_row=next(reader)   
    line2=next(reader)
    dates=[]
    for row in reader:

        date=datetime.strptime(row[2],'%Y-%m-%d')
        dates.append(date)

print(dates)

由于之前用next读取了两次reader中的数据,所以在使用for循环遍历列表reader时,会直接从第三行开始

用处:
以后读取csv格式表格数据,有时候表头行的数据格式与其他不同,可以用next直接过滤掉表头。
在这里插入图片描述

在这里插入图片描述

enumerate

作用:对可迭代的数据进行标号并将其里面的数据和标号一并打印出来。
语法
enumerate(sequence, [start=0])
参数
sequence – 一个序列、迭代器或其他支持迭代对象。
start – 下标起始位置。
返回值
返回 enumerate(枚举) 对象。

import csv

filename='death_valley_2018_simple.csv'

with open(filename) as f:
    reader=csv.reader(f)#把csv文件读取并保存在列表中
    header=next(reader)
    print(header)

    for index,colum_header in enumerate(header):
        print(index,colum_header)

[‘STATION’, ‘NAME’, ‘DATE’, ‘PRCP’, ‘TMAX’, ‘TMIN’, ‘TOBS’]
0 STATION
1 NAME
2 DATE
3 PRCP
4 TMAX
5 TMIN
6 TOBS

处理异常

语法:

try:
	 指令
except 异常名称:
	指令
else:
	正常结果
print("Give me two numbers, and I'll divide them.")
print("Enter 'q' to quit.")

while True:
    first_number = input("\nFirst number: ")
    if first_number == 'q':
        break
    second_number = input("Second number: ")
    if second_number == 'q':
        break
    try:
        answer = int(first_number) / int(second_number)
    except ZeroDivisionError:
        print("You can't divide by 0!")
    else:
        print(answer)

显示图片

把画图写成一个类之后,多次引用,如何让图片在最后显示?
解决:
在引用完之后加plt.show
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值