1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python csv数据处理_Python数据处理(1) —CSV文件数据处理

python csv数据处理_Python数据处理(1) —CSV文件数据处理

时间:2022-11-13 05:49:37

相关推荐

python csv数据处理_Python数据处理(1) —CSV文件数据处理

断断续续使用Python编程已接近半年时光,尽管目前使用的功能相对单一(主要用于传感器实验数据的处理),但仍然发现,某些时候使用时会一时半会想不起来了,归结原因是“不熟悉”;因此,考虑将目前学习Python的一些东西记录下来,权当是方便下次快速查找吧!

关于Python数据处理内容,我会开一个系列不断更新,争取基本覆盖实际中使用到的相关内容。

1. 本节讲解

Python读取.csv文件,并进行数据图像绘制。

2. 原始数据

部分原始数据的内容,格式如下:180202_20:28:52,180202_20:24:31,3

180202_20:28:53,180202_20:24:41,4

180202_20:28:53,180202_20:24:51,4

180202_20:28:54,180202_20:25:01,4

180202_20:28:54,180202_20:25:11,4

180202_20:28:55,180202_20:25:21,5

180202_20:28:55,180202_20:25:31,5

第一个逗号分隔数据为:TSI设备内部时间戳;第二个逗号分隔数据为:PC端操作系统时间戳;最后一个分隔符数据为:TSI设备此时刻对应值。我们需要获取以TSI设备时间戳为基准的TSI设备对应读数的曲线。

3. 工程文件(点击下载附件)

核心代码如下:# -*- coding: utf-8 -*-

"""

Created on Thu Dec 7 10:50:09

@author: lu

"""

import time

import csv

import matplotlib.pyplot as plt

#读取的csv文件

fileName = '180202_59 TSI.csv'

#绘图所需数据

xtime = []

yvalue = []

#获取TSI传感器数据

with open(fileName, 'r') as csvfile:

spamreader = csv.reader(csvfile)

for row in spamreader:

#获取时间轴数据,根据csv格式知其为第一列row[0]

xtimestamp = time.mktime(time.strptime(row[0],"%y%m%d_%H:%M:%S"))

#获取PM2.5相关参数,根据csv格式知其为第三列row[2]

if(row[2].isdigit()):

xtime.append(xtimestamp)

yvalue.append(row[2])

else:

print("Wrong type: " + str(row))

#对X轴时间进行归一化

deta = int(xtime[0])

for j in range(len(xtime)):

xtime[j] = int(xtime[j])-deta

yvalue[j] = int(yvalue[j])

#X和Y坐标信息

plt.xlabel("Time(s)")

plt.ylabel("Ug(TSI_PM2.5)")

#绘制曲线

plt.plot(xtime,yvalue,label='TSI_PM2.5',linewidth=2)

plt.legend()

plt.show()

4. 实验结果

注意:本站所有文章除特别说明外,均为原创,转载请务必以超链接方式并注明作者出处。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。