python csv数据处理_Python数据处理(1) —CSV文件数据处理
斷斷續(xù)續(xù)使用Python編程已接近半年時光,盡管目前使用的功能相對單一(主要用于傳感器實驗數(shù)據(jù)的處理),但仍然發(fā)現(xiàn),某些時候使用時會一時半會想不起來了,歸結(jié)原因是“不熟悉”;因此,考慮將目前學(xué)習(xí)Python的一些東西記錄下來,權(quán)當(dāng)是方便下次快速查找吧!
關(guān)于Python數(shù)據(jù)處理內(nèi)容,我會開一個系列不斷更新,爭取基本覆蓋實際中使用到的相關(guān)內(nèi)容。
1. 本節(jié)講解
Python讀取.csv文件,并進行數(shù)據(jù)圖像繪制。
2. 原始數(shù)據(jù)
部分原始數(shù)據(jù)的內(nèi)容,格式如下: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
第一個逗號分隔數(shù)據(jù)為:TSI設(shè)備內(nèi)部時間戳;第二個逗號分隔數(shù)據(jù)為:PC端操作系統(tǒng)時間戳;最后一個分隔符數(shù)據(jù)為:TSI設(shè)備此時刻對應(yīng)值。我們需要獲取以TSI設(shè)備時間戳為基準(zhǔn)的TSI設(shè)備對應(yīng)讀數(shù)的曲線。
3. 工程文件(點擊下載附件)
核心代碼如下:# -*- coding: utf-8 -*-
"""
Created on Thu Dec 7 10:50:09 2017
@author: lu
"""
import time
import csv
import matplotlib.pyplot as plt
#讀取的csv文件
fileName = '180202_201159 TSI.csv'
#繪圖所需數(shù)據(jù)
xtime = []
yvalue = []
#獲取TSI傳感器數(shù)據(jù)
with open(fileName, 'r') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
#獲取時間軸數(shù)據(jù),根據(jù)csv格式知其為第一列row[0]
xtimestamp = time.mktime(time.strptime(row[0],"%y%m%d_%H:%M:%S"))
#獲取PM2.5相關(guān)參數(shù),根據(jù)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坐標(biāo)信息
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. 實驗結(jié)果
注意:本站所有文章除特別說明外,均為原創(chuàng),轉(zhuǎn)載請務(wù)必以超鏈接方式并注明作者出處。
總結(jié)
以上是生活随笔為你收集整理的python csv数据处理_Python数据处理(1) —CSV文件数据处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: long long c语言_带你打开C语
- 下一篇: 安卓蓝牙键盘鼠标映射_蓝牙鼠标模拟器(汉