2016-11-14 55 views
0

我收到的數據,看起來像下面:導入Python和打印特定字的所有行一個txt文件中的字符串

0,JW111101,Run Name 
0,111116,Date 
0,+2.5,Increment 
0,2=0,Start Station 
0,1=Fri 11 Nov 2016 14:21:44,Date & Time Stamp 
0,6=1 Off 4On,Cycle Times 
0,6=Fluke 189B,Meter Type 
0,6=Racal Landstar,GPS Reciever 
0,1=Fri 11 Nov 2016 14:21:47,Date & Time Stamp 
0,6=COMPANY NAME,142156.00,29.0638153,95.3436157,-1.2 
0,6=LINE NAME,142156.00,29.0638153,95.3436157,-1.2 
1,6=Test Station,142255.00,29.0638145,95.3436133,-0.9 
1,6=-1559 On NG,142255.00,29.0638145,95.3436133,-0.9 
1,6=-1169 Off NG,142255.00,29.0638145,95.3436133,-0.9 
1,6=1Approx.,142255.00,29.0638145,95.3436133,-0.9 
1,6=AC 0.735,142255.00,29.0638145,95.3436133,-0.9 
1,1558,GPS Not Available 
1,1460,142350.00,29.0638166,95.3436115,-0.9 
1,1185z,142351.00,29.0638167,95.3436116,-0.9 
1,1554,142352.00,29.0638166,95.3436116,-0.9 

我想在第三列找到的最小和最大的數字。第三列實際上是一個utc時間戳。
我最終的目標是能夠確定何時開始,何時結束以及持續時間。
任何人都可以指向正確的方向嗎?

+0

yea。查找字符串操作,'datetime'模塊(strptime,strftime,toordinal)和'max'函數。 – Uriel

+0

謝謝,我會檢查他們 –

回答

0

假設你的數據在一個名爲random.csv文件下面是如何在讀取數據。

import csv 

list_of_stuff = [] 
with open('random.csv') as readcsv: 
    row_object = csv.reader(readcsv) 
    for value in row_object: 
     list_of_stuff.append(value) 

print list_of_stuff 

現在你有一個列表的列表,其中每個子列表是文件中的內容一致。以下是關於在csv文件中讀取的文檔:https://docs.python.org/2/library/csv.html

您的第三列包含字符串和整數,無法轉換爲時間戳,所以我無法幫助您做到這一點。假設第三列全是整數,但是。那麼你可以使用這個除了我上面的代碼:

third_column = [row[2] for row in list_of_stuff] 
print "max: ", max(third_column) 
print "min: ", min(third_column) 
print "range: ", max(third_column) - min(third_column) 
+0

謝謝,這是很好的開始。數據實際上是以.txt文件的形式發佈給我的,但我們通常會將其轉換爲csv。 –

相關問題