使用Python实现csv图像绘制
前言
最近有处理csv的需求,于是摸了个这个出来
众所周知Python对于数据可视化性能不是很高,所以这种方法只能处理少量数据,几百条应该没问题
开始
文件选择
为了易用性加了个文件选择的功能,用到了win32ui
库(需要用pip提前安装pypiwin32)
效果像这样
首先import一下这个库
1 | import win32ui |
调用系统窗口
1 | dlg = win32ui.CreateFileDialog(1) |
这时存储文件名,因为后面要用到
1 | filename = dlg.GetPathName() |
读取csv文件
Python自带csv处理库,现在只要调用就行
1 | import csv |
读取文件列信息
1 | with open(filename) as f: |
这时候加一个print来看一下是否能够正常读取
1 | for index, column_header in enumerate(header_row): |
能够看到正常读取就可以删了
存数据
由于我的csv只有两种数据,定义两个数组即可(记得放在循环内)
1 | dates,ch1 = [],[] |
然后把数据存进数组
1 | for row in reader: |
再写一个print检查一下
1 | print(dates) |
绘制
绘图用到了matplotlib
常规操作
1 | from matplotlib import pyplot as plt |
定义一下窗口大小还有dpi
1 | fig = plt.figure(dpi=64, figsize=(20,12)) |
定义一下x轴和y轴的数据
1 | x_values=dates |
绘制函数,同时设置折线颜色以及图标标题
1 | plt.plot(x_values,y_values,c='red') |
最后让他显示
1 | plt.show() |
效果
忠告
切勿用于大量数据处理,否则软件会异常卡顿(亲身经历),如果你硬要处理大数据,为什么不用Matlab呢?
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自zBlog
评论