使用Python进行数据可视化(三、处理csv文件)

csv 逗号分隔值文件格式,其文件以纯文本形式存储表格数据(数字和文本)。

CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。                                          ------摘自百度百科

使用python标准库的csv模板可以分析csv文件,提取有用信息。

首先,我们打开csv文件并且打印文件头(csv文件可在网上下载,本文用到的文件在ituring.cn/book/1861/)(点击打开链接右侧的随书下载)

#导入csv模块
import csv

#指定文件名,然后使用 with open() as 打开
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
        #创建一个阅读器:将f传给csv.reader
        reader = csv.reader(f)
        #使用csv的next函数,将reader传给next,将返回文件的下一行
        header_row = next(reader)
        
        for index, column_header in enumerate(header_row):
                print(index, column_header)
        

运行后看到打印结果


通过阅读文件头可以了解文件包含的信息类型。


知道了这些信息后我们可以开始读取数据,先来读取最高气温(1 Max TemperatureF)

在刚刚的基础上加上这些代码(注意缩进,应该在with open 内)

        #读取最高气温
        #创建最高气温的列表
        highs =[]
        #遍历reader的余下的所有行(next读取了第一行,reader每次读取后将返回下一行)
        for row in reader:
                highs.append(row[1])
        print(highs)

执行后将打印最高气温


从结果可以看出,我们已经成功获取了最高气温,但是是字符串形式,为了让matplotlib能够读取,我们要把它转换成数字。

                #将字符串转换成数字
                high = int(row[1])
                highs.append(high)

输出如下



到这里,csv的数据基本已经提取完了。

接下来,可以借助matplotlib进行可视化。

添加两段代码

from matplotlib import pyplot as plt
#绘制图形
flg = plt.figure(dpi=128, figsize=(10,6))
plt.plot(highs,c='red')
#设置图形的格式
plt.title("Daily high temperature, July 2014", fontsize=24)
plt.xlabel('',fontsize=16)
plt.ylabel("Temperature(F)", fontsize=16)
plt.tick_params(axis='both', which="major", labelsize=16)

plt.show()


图形如下:


至此,我们已经完成了从csv文件中提取信息,并且对需要的数据进行可视化。


猜你喜欢

转载自blog.csdn.net/qq_41068877/article/details/80652701