使用python分析csv文件

csv文件格式:将数据作为以一系列逗号分隔的值写入文件,这样的文件成为csv文件。
使用csv模块分析csv文件。
csv模块包含在python标准库中,可用于分析csv文件中的数据行,让我们能够快速提取感兴趣的值。

import csv
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
	reader = csv,.reader(f)
	header_row = next(reader)

next() csv模块中包含函数next(),调用它并将阅读器对象传递给他时,他将返回文件中的下一行。在前面的代码中,我们只调用了next()一次,因此得到的是文件的第一行,其中包含文件头。我们将返回的数据存储在header_row中。header_row中包含与天气相关的文件头,指出了每行都包含哪些数据。

打印文件头及其位置

whith open(filename) as f:
	reader = csv.reader(f)
	header_row = next(reader)
print(header_row)
	for index, values in enumerate(header_row):
		print(index, values)

提取数据

with open(filename) as f:
	reader = csv.reader(f)
	header_row = next(reader)
	highs = []
	for row in reader:
		high = int(row[1])
		highs.append(high)
	print(highs)

我们创建了一个空列表highs,在遍历文件中剩余的各行。阅读器对象从其停留的地方继续往下读取csv文件,每次都是自动返回当前所处位置的下一行。由于我们读取的文件头,这个循环从第二行开始,就开始包含的是实际的数据,每次执行该循环时,都将索引1处的数据添加到highs末尾。

绘制气温图表
为了可视化这些气温数据,我们首先使用matplotlib创建一个显示每日最高温的简单图形。

from matplotlib import pyplot as plt
#从文件中获取数据
--snip--
#根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10,8))
plt.plot(highs, linewidth=5, c='red')
#设置图形的格式
plt.title("Daily high temperatures, 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()

你可能感兴趣的:(学习)