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 2017
@author: lu
"""
import time
import csv
import matplotlib.pyplot as plt
#讀取的csv文件
fileName = '180202_201159 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. 實驗結果
注意:本站所有文章除特別說明外,均為原創,轉載請務必以超鏈接方式并注明作者出處。
總結
以上是生活随笔為你收集整理的python csv数据处理_Python数据处理(1) —CSV文件数据处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: long long c语言_带你打开C语
- 下一篇: python爬取小游戏_如何用Pytho