Python学习笔记day09

这两天事情太多,耽误了学习。

一、分析数据

    1.CSV文件格式

        CSV文件格式就是将数据作为一系列以逗号分隔的值的形式来存储到文件中,这样的文件,就叫做CSV文件。

    2.Python的标准库中有一个模块叫做csv,用来分析CSV文件数据行。假设现在有一个CSV文件叫做test.csv,现在例如:

import csv

with open('test.csv') as f:
    reader=csv.reader(f)
    header_row=next(reader)
    print(header_row)

    首先将csv模块导入,接着打开CSV格式文件,csv模块中有一个函数叫做reader,它能够通过给出的文件对象来返回一个该文件对象对应的reader阅读器对象,个人理解这个阅读器对象是一个迭代器。通过Python的next函数,每当调用一次next函数,就会得到reader阅读器对象一行的数据。那么以上代码,就是将test.csv的第一行数据关联到了header_row上,通过打印出header_row可知header_row是一个列表。

    3.将列表数据元素及其对应下标打印出来

        如果想要在遍历列表元素时同时将对应下标打印出,需要使用函数enumerate(p),其中p是列表类型的形参。例如:

for index,column_header in enumerate(header_row):
    print(index,column_header)

    4.提取reader阅读器对象中某一列的值

        首先可以将reader阅读器对象想象成每一行都是一个列表,这样的话,如果我们想要访问某一个元素,就需要先得到列表,再通过访问列表元素的方法来访问数据。例如:

highs=[]

for row in reader:
    highs.append(row[i])

    其实,只要是可以通过以上这种for循环的方式来实现遍历的对象,都是直接或间接的与迭代器有关。其中每一次的遍历都得到一个row列表,然后通过指定列来访问列表中某个元素。个人觉得next()和for的这种循环,其实都是使用了reader阅读器对象和迭代器有关的原因。

二、将字符串类型的日期转换为时间类型

    Python中有一个datetime模块,里面包含有一个datetime类,注意这个类的首字母是小写的。使用datetime类中的strptime方法可以实现将字符串类型的时间转换为指定格式的时间类型。例如:

from datetime import datetime
date=datetime.strptime('2018-6-7','%Y-%m-%d')
print(date)
    其中‘2018-6-7’是字符串类型的时间,'%Y-%m-%d'是待转换成的日期的格式。其中'Y-'表示将'2018'转换为四位的年份。

猜你喜欢

转载自blog.csdn.net/qq_26593465/article/details/80614551